【发布时间】:2016-12-08 01:36:00
【问题描述】:
当调用魔术方法 __get 时,我有点困惑。 这是一个小例子
class Test {
public function __get($name) {
echo $name;
}
}
$a = new Test;
echo 'a '.$a->b.' c';
它输出“ba c”,虽然我希望得到“a b c”
【问题讨论】:
-
显然导致
echo $name;在echo 'a '.$a->b.' c';之前执行,尝试将echo $name;更改为return $name; -
@BagusTesa 你应该把它作为答案发布。
-
好的@MichaelBerkowski,谢谢
-
因为 __get 会自动显示
b而不是返回它。
标签: php get overloading