And*_*ers -2 php oop destructor magic-methods
这些是否正确:
任何 PHP 对象在运行后总是会被删除(就像它的代码一样)。
unset($objectName)只是刺激无论如何都会发生的事情。删除会快一点(从 RAM 内存),但最终是完全相同的事情。
__destruct就像在删除对象之前运行的事件,因此我们可以拥有它也可以不拥有它。任何代码都可以在其中运行。
unset()有什么关系吗__destruct?就像它会直接转到那个(作为唯一的步骤)然后删除?
当变量/对象/资源所在的脚本完成执行时,它们会自动删除/解除分配。没有必要(或建议)调用unset()所有内容。
如果您希望在脚本结束之前删除/取消分配某些内容,您可以显式地执行unset()它,并且它将立即发生,而不是在脚本结束时发生。这可以释放内存,但通常仅用于消除再次引用事物的可能性。
正确的。
unset() 和 __destruct 有什么关系吗?
是的。在对象被销毁之前(通过显式unset()或通过到达脚本末尾),该__destruct()方法(如果存在)将被调用。