2

我需要在执行命令时(new sfAPCCache())->clean()添加一个简单的调用。apc_clear_cache()./symfony cc

任何人都知道如何实现这一目标?我应该在什么时候编辑我的 symfony 应用程序,或者我应该如何注册这个额外的行为?

4

2 回答 2

4

实际上,我发现我可以监听一个事件来添加新的行为./symfony cc

$this->dispatcher->connect('task.cache.clear', array('ClearAPCCache','clearCache'))

仍然存在无法从命令行任务清除 APC 缓存的问题,因为 APC 缓存与 Web 服务器进程相关,而 symfony 命令是命令行脚本。

于 2013-01-25T09:28:30.717 回答
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');
}
于 2013-01-24T13:30:51.943 回答