gpt4 book ai didi

php - 静态类与实例化时的类成员访问

转载 作者:行者123 更新时间:2023-12-04 18:18:14 26 4
gpt4 key购买 nike

在 5.4 之前的 PHP 版本中,我使用静态类来实例化一个对象并立即调用所需的函数,例如:

$result = Foo::init()->bar();

在上面的例子中,静态函数 init()简单地实例化包含它的类并将其作为对象返回。这提供了方法链接功能,并允许我立即调用 bar() ,全部在一行代码中。静态函数 init()看起来像这样:
static public function init() {
$object = new self();
return $object;
}

现在 PHP 5.4 增加了对实例化类成员访问的支持,而不是使用静态类,我现在可以执行以下操作:
$result = (new Foo)->bar();

我的问题:我使用静态类的旧方法是否不好,如果是,为什么?既然 PHP 在实例化时支持类成员访问,那么这是在对象实例化后立即访问类成员的更正确方法吗?

最佳答案

是的,新方法更正确,所以如果可以的话,请使用它。不过,您以前拥有它的方式并不“糟糕”。这是一个干净、简单的解决方案,可以解决令人沮丧的问题。

关于php - 静态类与实例化时的类成员访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11285512/

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