gpt4 book ai didi

php - 破坏构造函数

转载 作者:可可西里 更新时间:2023-11-01 13:06:40 25 4
gpt4 key购买 nike

有没有一种方法可以防止在其构造函数中创建对象,以便:

$object = new Foo();
echo $object; // outputs: NULL

最佳答案

不,不可能; new 关键字总是 返回指定类的实例,无论您试图从构造函数返回什么。这是因为在调用构造函数时,PHP 已经完成为新对象分配内存。换句话说,该对象在此时已经存在(否则,根本没有可调用构造函数的对象)。

您可以改为从构造函数引发错误或抛出异常,并相应地进行处理。

class Foo {
public function __construct() {
throw new Exception('Could not finish constructing');
}
}

try {
$object = new Foo();
} catch (Exception $e) {
echo $e->getMessage();
}

关于php - 破坏构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com