【发布时间】:2021-10-05 05:44:06
【问题描述】:
于是我发现了这个问题:
// name1.php
namespace Examples\Names;
class Name {
public function __toString() {
return "Laurel";
}
public static function get() {
return "Eminent";
}
}
// name2.php
namespace Examples;
include "name1.php";
class Name {
public function __toString() {
return "James";
}
public static function get() {
return "Cook";
}
}
echo new Name() . " | " . Names\Name::get();
我想了解为什么这个 echo echo new Name() . " | " . Names\Name::get(); 会显示 James | Eminent。
我认为我从Examples\Names\Name Eminent 中得到了关于第二部分Names\Name::get() 的信息,因为它有那个get,但是第一部分呢?为什么默认使用James?
此外,当我尝试从 Names\Name::get() 删除切换到 Names\Name() 只是为了查看它是否显示第二类的 __toString - Cook 它不起作用并且我收到此错误 Fatal error: Uncaught Error: Call to undefined function Examples\Names\Name() in C
你能帮我解决这个问题吗?我真的很想明白。谢谢!
【问题讨论】:
-
现在我明白了。非常感谢!
-
太棒了。我把它转移到下面的正确答案,所以你可以mark it as accepted - 谢谢! :-)