我可以在CodeIgniter 2.1中__destruct()一个库对象吗?

时间:2012-01-23 03:32:19

标签: php destructor codeigniter-2

我正在使用CodeIgniter 2.1 PHP框架。我有一个库文件来操纵User对象。该对象引用我的数据库中的特定用户记录。我希望能够删除此记录并销毁该对象,以便在销毁后不会被错误地访问。通常,人们会使用__destruct()函数,但在我初步调查时,我不确定是否可以在CI库对象中使用此函数。这可能吗?我有理由不使用__destruct()函数吗?

1 个答案:

答案 0 :(得分:3)

加载库时,它会扩展到控制器(然后是CI_base,然后是CI_loader)。 CI_Loader无限期地持续(一直到脚本结束)并且不释放它的指针,因此永远不会调用__destruct

我建议手动包含该文件,以便您可以按预期使用PHP类。一旦控制器可用,get_instance()已经可用,因此如果您将类包含在控制器类之上的类中,并且您不会被限制为$this->load->library();

,那么您仍然可以访问CI。