Skip to end of metadata
Go to start of metadata

Zend Framework: Zend_View_Helper_TimeSince Component Proposal

Proposed Component Name Zend_View_Helper_TimeSince
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend_View_Helper_TimeSince
Proposers [Geoffrey Tran]
Zend Liaison TBD
Revision 1.0 - 1 January 2008: Initial Draft. (wiki revision: 4)

Table of Contents

1. Overview

This helper calculates the time passed from timestamps to generate a formatted string like "5 days and 4 hours". Applications of this helper are generally seen in "Created 2 weeks ago" or "Last modified 5 minutes ago" type lines.

Units supported are years, months, weeks, days, minutes, seconds. String format is the largest possible unit and if possible the unit below it. If a 1 year and 2 weeks have passed then "1 year" is the output; however, if 1 year, 2 months and 5 days have passed then "1 year and 2 months" is returned. If less than a second have passed then "less than a second" is returned.

Output is automatically translated if possible using Zend_View_Helper_Translate. The translation format is '%d months'. An already completed gettext pot file is located on Zym's demo in the data locale folder.

2. References

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will extend Zend_View_Helper_Abstract
  • This component will allow the use of translation
  • This component will format a date using a timestamp

4. Dependencies on Other Framework Components

  • Zend_View_Helper_Abstract
  • Zend_View_Helper_Translate

5. Theory of Operation

Calculates time passed since a specified time.

6. Milestones / Tasks

  • Milestone 1: [DONE] Proposal creation
  • Milestone 2: [DONE] Working Code, Documentation, Tests
  • Milestone 3: Working prototype checked into the incubator.
  • Milestone 4: Unit tests exist, work, and are checked into SVN.
  • Milestone 5: Initial documentation exists.

7. Class Index

  • Zend_View_Helper_TimeSince

8. Use Cases

UC-01

9. Class Skeletons

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Feb 19, 2009

    Requesting community feedback.

  2. Feb 26, 2009

    *) Translation is with the actual class skeleton not possible as you can't define when to return a translateable string and when an normal string.

    *) Units could automatically be translated... it's all available within ZF. No need to let the user alone with this task.

    *) You should also accept input of Zend_Date and Datestring.

  3. Feb 26, 2009

  4. Feb 26, 2009

    It seems useful... To get times a la Facebook.. I wiould use it.

  5. Mar 03, 2009

    Good idea, it would be nice to have the pattern string translatable. Zend_Translate instance would be used with Zend_Registry::get('Zend_Translate') like is it in Zend_Validate_Abstract.

    1. Mar 03, 2009

      That's not enough. You must also be able to set the instance manually to override the application wide locale setting (key Zend_Locale) and also to set the instance manually when no set key is available.

      1. Mar 03, 2009

        yes I agree, it should allow all of those.

  6. Mar 25, 2009

    It may be good to provide some translations out-of-box.

  7. Jul 14, 2009

    Zend Framework Approval
    This proposal is accepted for immediate development in the Standard Incubator,
    with the following criteria:
    • Allow passing Zend_Date and DateTime objects
    • Use existing i18n and l10n components for translating units