为什么用 get

WBOY
WBOYasal
2016-06-23 14:11:161143semak imbas

    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不就完了?


回复讨论(解决方案)

是的,我也认为这是画蛇添足。但__get,__set()的实际用处远远不是这段简单的代码能表达的。
话说回来,魔术方法只是让调用变得更简单。

几乎所有的高级语言都提供了类属性的 Access 和 Assign 方法,用于在访问类属性的时候完成一些预设的动作,比如验证、计算
php 也不无例外的提供了 __get 和 __set 方法与之对应

对$gg的读取,写入控制  

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn