我需要在(new sfAPCCache())->clean()
添加一个简单的调用,或者在执行命令apc_clear_cache()
时添加./symfony cc
。
任何人都知道如何实现这一目标?在哪一点上我应该编辑我的symfony应用程序,或者我应该如何注册这个额外的行为?
答案 0 :(得分:4)
实际上,我发现我可以收听一个事件来向./symfony cc
添加新行为:
$this->dispatcher->connect('task.cache.clear', array('ClearAPCCache','clearCache'))
仍然存在无法从命令行任务中清除APC缓存的问题,因为APC缓存与Web服务器进程相关,而symfony命令是命令行脚本。
答案 1 :(得分:2)
您只需创建自己的自定义任务。
./symfony generate:task your_task_name
在此任务中(在lib
文件夹中),您只需运行类似
protected function execute($arguments = array(), $options = array())
{
// Run your own apc cache
// ...
/// Then run the cache:clear
$this->runTask('cache:clear');
}