Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend_约会太慢了,太慢了_Php_Zend Framework_Zend Date - Fatal编程技术网

Php Zend_约会太慢了,太慢了

Php Zend_约会太慢了,太慢了,php,zend-framework,zend-date,Php,Zend Framework,Zend Date,这是我的代码: $frontendOptions = array('lifeTime' => 10); $backendOptions = array('cacheDir' => '../tmp/'); $cache = Zend_Cache::factory( 'Core', 'File', $frontendOptions,

这是我的代码:

$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');
当我尝试创建Zend_Date对象时,脚本速度会减慢

我在MAMP(Mac/SnowLeopard)上使用Zend 1.11.5


有人知道我该如何加快速度吗?

Zend_Date和其他一些Zend课程都很慢。您可以使用缓存来加速对Zend_Date的后续调用:

$date = new Zend_Date(...);  
 ....  
$cachedDate = new Cache($date);  
print $cachedDate->toString();
我知道这听起来很简单,但如果你只是需要一个格式化的常规日期,就使用。我保证你会看到一个重大的速度差异

更新:


如果您真的想调整类以提高性能,那么有几个补丁/调整可以应用。

问题是您的缓存生存期非常低。Zend_Date使用Zend_语言环境,它解析一些XML(不是很小的XML),这需要很多很多时间。创建具有超长生存期的特殊缓存实例(或者最好将其与文件的修改时间绑定),并将其设置为Zend_日期和Zend_区域设置。这将大大加快事情的发展。但是用Zend_Date来表示…不是个好主意。。。在订单列表中回显日期。你可以用

date('d.m.Y', strtotime($timeFromDb))

在进行日期计算或其他与日期有关的高级操作时,应该使用Zend_Date。不适用于简单的选择,除非您需要简练,以便在任何语言环境中都能体现出来:)

您能更好地量化“慢”一点吗?您使用的是什么版本的PHP?PHP5.3有一个本机日期对象,应该更快。quantify:60秒并计数…\我的php版本是5.3,但我真正需要使用的是Zend_Validate_Date,通过测试,我发现Zend_Date和Zend_Locale出现了速度慢的问题
当我尝试创建Zend_Date对象时,脚本速度会减慢。
——因此,缓存
toString()
在这种情况下不会有帮助(假设OP所说的是真的)这对实例化没有帮助,在帖子中也这么说。如果他不重新使用对象,php的本机类会更好。如果他重新使用这个对象,缓存是一个有趣的选择。实际上,我需要使用Zend_Validate_Date,当我尝试使用它时,我等待脚本的时间超过了60秒。然后,我发现Zend_Date和Zend_LocaleThat’s是缓存具有长生命周期地址的Locale和Date的部分;)的缓慢问题