记录Kohana中的每个方法调用?

时间:2011-03-09 15:08:38

标签: kohana

如何在Kohana应用程序中记录控制器和模型中的每个方法调用?

我想清理我的脚本并删除未使用的方法。

2 个答案:

答案 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()相当慢,所以你最终会想要删除它们。