如何在Kohana应用程序中记录控制器和模型中的每个方法调用?
我想清理我的脚本并删除未使用的方法。
答案 0 :(得分:2)
您可以使用before()
和after()
方法记录控制器名称&操作(使用$this->request
获取这些值)。
模型没有这样的方法,但我不喜欢将__call()
用于此目的。您可能应该在控制器中记录您的模型吗?像这样:
// somewhere in controller
$cid = $this->request->param('cat_id');
// call custom model method
$articles = ORM::factory('article')->get_by_category($cid);
// log model call
// etc
答案 1 :(得分:0)
您可以使用以下内容扩展Kohana_Controller和Kohana_Model:
public function __call($name, $arguments)
{
// Log call here
// Now return the real method
return parent::__call($name, $arguments)
}
__ call()相当慢,所以你最终会想要删除它们。