推荐答案1
用于销毁对象通常是unset()最适合"速度",但是,如果您想立即(以CPU为代价)回收内存. P> 就像其他提到的一样,设置为Null并不意味着所有内容都已回收,您可以拥有共享的内存(未串联)对象,以防止对象破坏对象.而且,就像其他人所说的那样,无论如何您都不能明确"销毁"对象,因此您不应该尝试做.最适合您.另外,您可以将__destruct()用于将在Unset或Null上调用的对象,但应仔细使用,并且像其他人所说的那样,切勿直接调用!
PHP unset()函数,将我们要删除为该函数的参数的对象,我们可以删除此对象.
这如下所示.
- unset($object1)
因此,在上面的代码中,我们删除了一个名为$ object1的对象.
在下面的代码中,我们显示一个完整的示例删除对象.
- <?php
- class cars
- {
- public $type;
- }
- $car1= new cars();
- $car->type= "Hyundai Elantra";
- unset($car1);
- ?>
因此,在上面的代码中,我们创建了一个名为CARS的类.
然后,我们通过unset()function删除$ car1对象.
创建destructor方法
您还可以选择将destructor方法放在PHP类中.
<跨度>删除对象时,将自动调用destructor方法,并且您可以在任何方法中执行此代码中的任何操作.例如,您可以关闭数据库连接.输出该对象正在删除.如果您要跟踪类中的对象数量,则将变量保持计数减少1(因为在调用此方法时删除了一个对象).
这再次是可选的.您不必在代码中使用驱动器方法.但是,如果要在删除对象时要调用方法,则需要添加destructor方法,因为每当删除对象时,它都会称为. >我们通过unset()函数删除$ car4对象.
然后,我们输出类中现在为4的对象的数量,因为1已删除1.
因此,同样,在您的课程中使用驱动器方法是可选的.只有在删除对象时要完成某些操作.
这可以关闭数据基础连接,跟踪类中的对象数量输出等 一个对象是 实例 类的对象.您可以使用 php unset() 函数删除对象.将我们要 delete 作为此函数的参数的对象,我们可以删除此对象. 推荐答案2
用法态您还可以在php类中放置 destructor 方法以删除对象.
<跨度>用法 : -
- class sample {
- public function __construct() {
- /* Some code here */
- }
- public function __destruct() {
- /* Some operation, like closing the database connection */
- }
- }