我最近算是刚学php
在class的部份有个小问题,
我们在设定private 或是protected的变量时,
我们可以用public function
自己设定一个内部函数
去修改这类型的变量,
还有另一种方法是直接利用标题所说的
魔术方法 __set __get
去改变或是查看这个变量
我想问的是大家在操作这类变量
是使用那一种方法比较多呢?
我是觉得魔术方法好像很好用,
但好像也有人说这方法不好?
说这方法不能对特定变量做一些限制。
若是设定一种新的变量就写一个
新的public function就没这个问题。
但我看网络上
有人在 __set里面写个switch
不能个别对变量作限制的缺点好像就没了
//之前没打functuon name 现在加回去
public function __set($name,$value){
switch($name){
case "$name"
..........
break;
}
}
请问我有忽略什么吗?
哪一种方法比较好比较常用呢?