zend 文件application.config.php
提供了一些缓存配置的方法,我觉得这对于生产系统来说非常好:
return array(
'modules' => array(
'Application',
),
'module_listener_options' => array(
'module_paths' => array(
'./module',
'./vendor'
),
'config_glob_paths' => array('config/autoload/{,*.}{global,local}.php'),
'config_cache_enabled' => true,
'config_cache_key' => md5('config'),
'module_map_cache_enabled' => true,
'module_map_cache_key' => md5('module_map'),
'cache_dir' => './data/cache',
),
);
但是,激活它会立即导致错误,例如
Fatal error: Call to undefined method Closure::__set_state()
这与写成闭包的工厂有关,如下所示:
'service_manager' => array(
'factories' => array(
'auth.service' => function($sm) {
/* hic sunt ponies */
},
),
),
不幸的是,这些 问题 只告诉我为什么会发生这个错误,而不是告诉我如何解决它。
我怎样才能重做这个和类似factories
的东西,以便缓存可以与它们一起使用?