删除一个 PHP 对象;还 unset() 和 __destruct
Deletion of a PHP object; also unset() and __destruct
这些是否正确:
任何 PHP 对象总是在 运行 之后被删除(就像它的代码一样)。
unset($objectName)
只是刺激无论如何都会发生的事情。删除会快一点(从 RAM 内存),但最终它是完全一样的东西。
__destruct
就像一个在删除对象之前得到 运行 的事件,所以我们可以有或没有。其中的任何代码都可以是 运行。
unset()
和__destruct
有关系吗?就像它会转到那个(作为唯一的步骤)然后删除?
Variables/objects/resources 当他们所在的脚本完成执行时自动 deleted/deallocated。没有必要(也不建议)对所有事情都调用 unset()
。
如果你想让某些东西在脚本结束之前deleted/deallocated,你可以明确地unset()
它,它会立即发生而不是结束脚本。这可以释放内存,但通常仅用于消除再次引用该事物的可能性。
正确。
Does unset() has anything to do with __destruct.
是的。就在对象被销毁之前(通过显式 unset()
或到达脚本末尾),__destruct()
方法被调用(如果存在)。
这些是否正确:
任何 PHP 对象总是在 运行 之后被删除(就像它的代码一样)。
unset($objectName)
只是刺激无论如何都会发生的事情。删除会快一点(从 RAM 内存),但最终它是完全一样的东西。__destruct
就像一个在删除对象之前得到 运行 的事件,所以我们可以有或没有。其中的任何代码都可以是 运行。
unset()
和__destruct
有关系吗?就像它会转到那个(作为唯一的步骤)然后删除?
Variables/objects/resources 当他们所在的脚本完成执行时自动 deleted/deallocated。没有必要(也不建议)对所有事情都调用
unset()
。如果你想让某些东西在脚本结束之前deleted/deallocated,你可以明确地
unset()
它,它会立即发生而不是结束脚本。这可以释放内存,但通常仅用于消除再次引用该事物的可能性。正确。
Does unset() has anything to do with __destruct.
是的。就在对象被销毁之前(通过显式 unset()
或到达脚本末尾),__destruct()
方法被调用(如果存在)。