Php 神奇方法_construct()和_destruct()的用法是什么。它们总是必需的吗?
神奇方法_construct()和_destruct()的用法是什么。它们总是必需的吗 需要一个简单的答案,有点困惑 它们不是必需的。 构造在初始化时调用,即在创建/构造对象时调用。 清理时调用Destruct 示例:Php 神奇方法_construct()和_destruct()的用法是什么。它们总是必需的吗?,php,Php,神奇方法_construct()和_destruct()的用法是什么。它们总是必需的吗 需要一个简单的答案,有点困惑 它们不是必需的。 构造在初始化时调用,即在创建/构造对象时调用。 清理时调用Destruct 示例: class Foo { function __construct() { echo "start"; } function __destruct() { echo "end"; } } $foo
class Foo
{
function __construct()
{
echo "start";
}
function __destruct()
{
echo "end";
}
}
$foo = new Foo(); // outputs start
echo ' : ';
unset( $foo ); // outputs end
echo ' ! ';
上面的代码段输出<代码>开始:结束代码>。如果我们不使用unset
清理脚本时,析构函数仍将在脚本末尾被调用,那么输出将是:start:!结束
链接
它们不是必需的。
构造在初始化时调用,即在创建/构造对象时调用。
清理时调用Destruct
示例:
class Foo
{
function __construct()
{
echo "start";
}
function __destruct()
{
echo "end";
}
}
$foo = new Foo(); // outputs start
echo ' : ';
unset( $foo ); // outputs end
echo ' ! ';
上面的代码段输出<代码>开始:结束代码>。如果我们不使用unset
清理脚本时,析构函数仍将在脚本末尾被调用,那么输出将是:start:!结束
链接
关于\uuuu construct()
,它使您可以对新创建的对象执行一些操作,并覆盖父类的\uu construct()
方法
因此,它可能不是必需的(两者都不是),但如果一个类扩展了另一个类,则可能需要添加一个构造函数,例如,以避免自动调用父构造函数。关于\u construct()
,它使您可以对新创建的对象执行一些操作,并覆盖父类的\u construct()
方法
因此,它可能不是必需的(两者都不是),但如果一个类扩展了另一个类,则可能需要添加一个构造函数,例如,以避免自动调用父构造函数。我对构造函数最常用的用法是将类变量初始化为默认值。不过,我还不需要使用析构函数。构造的最常用用法是将类变量初始化为默认值。不过我还没有必要使用析构函数。谢谢你的简单解释,那么u destruct()呢,你能不能也用一种简单的方式来描述一下?@user1383080我对u destruct()没有太多的用处,它在你销毁你的对象时做你告诉它做的事情,在我的例子中,几乎总是在脚本结束时,我不想做任何其他事情…谢谢你的简单解释,关于u destruct(),你能用一种简单的方式描述一下吗?@user1383080我对
u destruct()
,当你摧毁你的目标时,它会做你告诉它做的事情,在我的情况下,几乎总是在脚本结束时,当我无论如何不想做任何其他事情时…@ArshadHussain应该为你工作。在这里试试这个片段:当我们不使用unset($foo)时,输出“end”也会出现;是的,所有实例在清理时都会被销毁。我只是使用了unset
来更好地可视化流程。有关更多解释,请参阅更新的答案。@ArshadHussain应该适合您。在这里试试这个片段:当我们不使用unset($foo)时,输出“end”也会出现;是的,所有实例在清理时都会被销毁。我只是使用了unset
来更好地可视化流程。有关更多说明,请参阅更新的答案。