Zend_Date 太慢了,真的慢

iVe*_*ela 2 php zend-framework zend-date

这是我的代码:

$frontendOptions = array('lifeTime' => 10);
$backendOptions = array('cacheDir' => '../tmp/');    

$cache = Zend_Cache::factory(   'Core',
                                'File',
                                $frontendOptions,
                                $backendOptions);

$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);

$locale = new Zend_Locale('es_ES');
Zend_Registry::set('Zend_Locale', $locale);
Zend_Locale::setCache($cache);

$date = new Zend_Date('11-03-2010');
Run Code Online (Sandbox Code Playgroud)

当我尝试创建 Zend_Date 对象时,脚本速度变慢。

我在 MAMP (Mac / Snow Leopard) 上使用 Zend 1.11.5。

有谁知道我怎样才能加快速度?

Tom*_*far 5

问题是你的缓存寿命真的很短。Zend_Date 使用 Zend_Locale,它解析一些 XML(不是很小的 XML),这需要很多很多时间。创建具有极长生命周期的特殊缓存实例(或者更好地将其与文件的修改时间联系起来)并将其设置为 Zend_Date 和 Zend_Locale。这应该会大大加快速度。但使用 Zend_Date 来表示……在订单列表中回显日期并不是一个好主意。您可以使用

date('d.m.Y', strtotime($timeFromDb))
Run Code Online (Sandbox Code Playgroud)

在进行日期计算或其他有关日期的高级操作时,应该使用 Zend_Date。不适合简单的选择,除非您需要能够在任何区域设置中实际回显它:)