gpt4 book ai didi

php - 范围解析运算符和类方法

转载 作者:可可西里 更新时间:2023-11-01 00:33:24 25 4
gpt4 key购买 nike

好吧,我不明白这段代码为什么有效

class MyObject  {
public function myBaseMethod()
{
echo 'I\'m declared in' . __CLASS__;
}

}

$instance = new MyObject();
$instance->myBaseMethod();
MyObject::myBaseMethod();

// Output
I'm declared inMyObject
I'm declared inMyObject

我可以通过创建 MyObject 类的新实例或作为静态方法来调用 myBaseMethod()。但是 myBaseMethod 没有声明为静态的。

我认为我只能将::用于静态成员/方法。

任何解释

最佳答案

是的,这是可能的。我想知道为什么。但请注意,PHP 会抛出一个 E_STRICT 错误,这对于新代码来说是绝对不能接受的,而在遗留代码中可能会发生。您不应调用未声明为静态的静态方法。尝试修复遗留代码。

关于php - 范围解析运算符和类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150051/

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