魔法方法__construct()和__destruct()的用法是什么?它们总是需要吗?
需要一个简单的答案,这有点令人困惑。
关于__construct()
,它使你可以对新创建的对象做一些事情,并覆盖父类的__construct()
方法。
因此,它可能不是必需的(也不是),但是如果一个类扩展了另一个类,则可能需要添加例如构造函数以避免自动调用父构造函数。
它们不是必需的。构造在初始化时调用,即创建/构造对象时。清理时调用销毁。
例:
class Foo
{
function __construct()
{
echo "start";
}
function __destruct()
{
echo "end";
}
}
$foo = new Foo(); // outputs start
echo ' : ';
unset( $foo ); // outputs end
echo ' ! ';
上面的代码段输出start : end !
.如果我们不使用unset
则在清理时仍将在脚本末尾调用析构函数,则输出将为:start : ! end
链接
http://php.net/manual/en/language.oop5.decon.php
我对构造的最常见用途是将类变量初始化为默认值。不过,我还不需要使用破坏。