Heim > Backend-Entwicklung > PHP-Tutorial > 新人:为什么不能通过_get()与_set()给private字段赋值并输出?解决思路

新人:为什么不能通过_get()与_set()给private字段赋值并输出?解决思路

WBOY
Freigeben: 2016-06-13 13:29:04
Original
947 Leute haben es durchsucht

新人:为什么不能通过_get()与_set()给private字段赋值并输出?
例子:





class Employee {
private $name;

function _get($propName) {
echo "_get called!
"; // 并且不能输出任何字串

return $this->$propName;
}

function _set($propName, $propValue) {
$this->$propName = $propValue;
}
}

$employee = new Employee();
$employee->name = "Mario";

echo $employee->name."
";
?>



为什么会这样子?是不是要开启什么参数?

------解决方案--------------------
function _get($propName) {
echo "_get called!
"; // 并且不能输出任何字串

return $this->$propName;
}
标红的不是只有一个下划线吗?
实现这个功能的魔术函数名是 __get
是两个下划线
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage