<?php
class classname
{
public $attribute;
function __get($name)
{
return 'here:'.$this->$name;
}
function __set ($name, $value)
{
$this->$name = $value;
}
}
$a = new classname();
$a->attribute = 5;
echo $a->attribute;
當我運行上面的腳本,它顯示:5不顯示預期的結果時,使用__get()在PHP
問:
echo $a->attribute;
這行代碼將調用function __get($name)
,對不對?所以爲什麼不顯示:here:5
?
這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 –
這裏要參考PHP官方手冊鏈接:http://www.php.net/manual/en/language.oop5.overloading.php#object.get – gameboy90