类似于在Codeigniter中构建类构造函数,它在执行类中的其他函数之前执行代码块:
<?php
class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
// Your own constructor code
}
}
?>
有没有办法构建一个“析构函数”函数,在被调用函数完成后正确处理代码块?看来这段代码不会在我的应用程序中处理“页脚”:
function __destruct() {
$this->load->view('footer');
}
答案 0 :(得分:3)
function __destruct()
,在对象被破坏之前调用。而且它实际上并不特定于CodeIgniter。还要记住,如果将对象保持活动状态到脚本的最后,那么当PHP关闭时它会被破坏,可能会出现各种问题。因此,如果可能的话,最好在脚本末尾调用unset($obj)
。
<强>更新强>
现在你添加了你的意图后,我可以说它不会起作用:)。当CI超类被破坏时,即在将所有内容分派并发送给客户端之后,控制器被破坏。作为一种快速替代方案(如果紧急),我可以建议将操作方法设置为私有,以便将所有操作请求路由到__call
,这将为您的所有操作添加页眉/页脚。但是,如果不紧急的话,我在上班后稍微挖掘一下后会提出更好的建议......