Mat*_*att 0 php view-helpers zend-framework2
我是Zend框架的新手,并决定尝试使用ZF2构建一个简单的应用程序.
我有一个日期从数据库中拉出我的表网关扩展AbstractTableGateway,这是正确地拉我的数据但我想使用Zend_Date格式化我的日期而不是在我的模型/视图中操纵字符串表示.
有没有人对我这样做有什么想法?
另一种选择是已经存在的ViewHelper \ Zend\I18n\View\Helper\DateFormat
通过这种方式,您可以确保您的视图脚本已准备好进行国际化(i18n),并且所有页面查看器都能够以各自的格式查看日期.
这需要启用php_intl扩展.
长时间使用看起来如下所示:
echo $this->dateFormat(
    new DateTime(),
    IntlDateFormatter::MEDIUM, // date
    IntlDateFormatter::MEDIUM, // time
    "en_US"
);
但是,就像AlloVince的方法一样,我建议为此编写自己的视图助手.这样你就可以写出像$this->myDateFormat($db->getDate())
这是我的自定义数据时间助手供参考:
https://github.com/AlloVince/eva-engine/blob/master/vendor/Eva/View/Helper/Datetime.php
将此帮助程序注册为模块配置文件中的可调用帮助程序服务
'view_helpers' => array(
    'invokables' => array(
        'datetime' => 'Eva\View\Helper\Datetime',
    ),  
),
然后通过以下方式调用它:
$this->datetime(time(), 0, 'Y-m-d');  //2012-10-09
$this->datetime()->jsTime(time()); //Sat Oct 6 17:16:05 UTC+0800 2012