如何在PHP中销毁一个类对象?

5

我写了一个小类用于存储全局变量/函数。我的问题是 - 在脚本完成后是否需要销毁该类对象?还是PHP会自行销毁该对象?

这是我的代码:

$web=new c_web("myWeb");
$web->loadTemplate("/!framework/admin/template.htm");
$web->doStuff();
// script has finished - destroying required here?

如果我需要销毁它,应该怎么做?
3个回答

9
如果脚本完成,内存就会被释放。您现在已经准备好了 :)

谢谢!如果脚本由于错误而终止,那么所有变量(数据库等)也会被销毁吗? - Fuxi
嗯,数据库连接可能需要“关闭”,但在大多数情况下,只有在执行期间需要更多内存时才需要担心这个问题。因此,如果您在对象中加载了X数量的数据,然后希望再次执行相同操作。但基本上,不用担心,愉快地编写代码 :) - Nanne

4
不需要自己销毁任何变量(对象也是变量):一旦PHP脚本到达结尾,其变量将被释放,相应的内存将被释放。实际上,当变量作用域结束时,变量会自动销毁--当您到达脚本的结尾时,它是由该脚本执行引入的作用域的结尾。当脚本因错误而结束时,当然也会发生同样的情况:变量被释放,内存被释放。(回答另一个答案的评论)

关于打开的数据库连接怎么办?我需要关闭它们吗? - Fuxi
除非你使用持久连接,否则连接将在 PHP 脚本结束时自动终止。 - Pascal MARTIN

4

正如@Nanne所说,如果脚本执行完毕,内存就会被释放,然而在某些情况下您可能希望使用unset($web);来释放内存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接