为什么用 get
程序员文章站
2023-12-22 18:25:52
...
class xx{
private $gg=30;
function __get($cute){
return $this->$cute;
}
function __set($n,$val){
$this->$n=$val;
}
}
$xxx=new xx();
echo $xxx->gg;
?>
真要获取$gg。。。你把$gg设置为public不就完了?
private $gg=30;
function __get($cute){
return $this->$cute;
}
function __set($n,$val){
$this->$n=$val;
}
}
$xxx=new xx();
echo $xxx->gg;
?>
真要获取$gg。。。你把$gg设置为public不就完了?
回复讨论(解决方案)
是的,我也认为这是画蛇添足。但__get,__set()的实际用处远远不是这段简单的代码能表达的。
话说回来,魔术方法只是让调用变得更简单。
几乎所有的高级语言都提供了类属性的 Access 和 Assign 方法,用于在访问类属性的时候完成一些预设的动作,比如验证、计算
php 也不无例外的提供了 __get 和 __set 方法与之对应
对$gg的读取,写入控制