【发布时间】:2016-03-25 14:25:32
【问题描述】:
我正在尝试学习构造和破坏。 所以,我做了这个
<?php
class Numbers {
public function __construct($numberint,$numbername,$numberletter,$numberpos) {
$this->numberint = $numberint;
$this->numbername = $numbername;
$this->numberletter = $numberletter;
$this->numberpos = $numberpos;
}
public function __destruct() {
unset($this->numberpos);
}
}
$number1 = new Numbers(1,"One","A",0);
print_r($number1);
?>
如您所见,我创建了 Number 类,然后对 Objects 使用构造。但是在构造之后,我想使用 destruct,在这种情况下,未设置 numberpos。我试图将它们放在一起以了解其工作原理。 任何人都可以帮助我吗?
我的想法是改变结果:
Numbers Object ( [numberint] => 1 [numbername] => One [numberletter] => A [numberpos] => 0 )
到...
Numbers Object ( [numberint] => 1 [numbername] => One [numberletter] => A )
谢谢,记住我正在学习:D
【问题讨论】:
-
您的网站上似乎有些混淆对象是什么以及它与类的关系。您的代码确实不在该类中创建对象。
-
谢谢!我添加了什么。我希望现在很清楚。再次感谢!
-
当对象被销毁并且该对象不再可用时调用析构函数。所以你的想法只会行不通。
-
@Peter PHP 使用垃圾收集器。当没有包含对它的引用的变量时,对象会自动销毁。无需取消设置对象的属性,因为整个对象都会消失。仅当对象包含对 PHP 之外需要清理的资源的引用时才需要析构函数,例如它需要刷新一个文件缓冲区。
标签: php constructor destructor