类似于在 Codeigniter 中构建类构造函数,它在类中执行其他函数之前执行一段代码:
<?php
class Blog extends CI_Controller {
public function __construct()
{
parent::__construct();
// Your own constructor code
}
}
?>
有没有一种方法可以构建一个“析构函数”,在您调用的函数完成后正确处理一段代码?这段代码似乎没有在我的应用程序中处理“页脚”:
function __destruct() {
$this->load->view('footer');
}
最佳答案
函数 __destruct()
,在对象被销毁之前调用。它实际上并不特定于 CodeIgniter。还要记住,如果您在脚本的最后让对象保持事件状态,那么当 PHP 关闭时它会被破坏,可能会出现各种问题。因此,如果可能的话,在脚本末尾调用 unset($obj)
可能是个好主意。
更新
现在,在您添加了您的意图之后,我可以说它不会起作用:)。当 CI 父类(super class)被销毁时, Controller 被销毁,即在所有内容被分派(dispatch)并发送到客户端之后。作为一种快速替代方法(如果紧急),我建议将操作方法设为私有(private),以将所有操作请求路由到 __call
,这将为您的所有操作添加页眉/页脚。但是,如果不是很紧急,我会在上类时稍微挖掘一下,然后提出更好的建议...
关于php - Codeigniter 2.0 中是否可以使用析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5444835/