如何在请求重定向之前调用函数

时间:2010-11-23 12:33:34

标签: php kohana kohana-3

我正在使用Kohana3。在将页面重定向到新URL之前,我想执行一些处理。我尝试使用控制器类的 方法,但是如果重定向请求,则 方法之后不会执行。此外,我尝试使用register_shutdown_function,但在请求重定向到其他页面时仍未调用它。

2 个答案:

答案 0 :(得分:3)

创建您自己的控制器方法redirect($url, $code)并将其用于重定向而不是$this->request->redirect()

// basic controller

protected function _redirect($url, $code=302)
{
   $this->_shutdown();
   $this->request->redirect($url, $code);
}

protected function _shutdown()
{
   // log queries, stats etc
}

答案 1 :(得分:1)

你的意思是在使用它吗?

$this->request->redirect('/somewhere')

如果是这样,你可以在该行之前调用你的函数吗?

如果您要在取消初始化对象时查找要运行的内容,请尝试使用魔术方法__destruct() ...

public function __destuct() {
   // Something
}