如题所述
__set()与__get()是两个魔术方法,用于设置和输出对象里的私有成员属性的,存在于类中,详细使用方法
class main{
private $name = "李三";
private function __set($_name,$_val){
$this->$_name=$_val;//当外面直接设置私有成员属性$name的时候被自动调用
}
private function __get($_name){
retrun $this->$_name;//当外面直接使用私有成员属性$name的时候被自动调用
}
}
$my = new main;
$my->name="李四";//此时,就调用了__set()魔术方法
echo $my->name;//此时,就调用__get()魔术方法
谢谢采纳!!!
class main{
private $name = "李三";
private function __set($_name,$_val){
$this->$_name=$_val;//当外面直接设置私有成员属性$name的时候被自动调用
}
private function __get($_name){
retrun $this->$_name;//当外面直接使用私有成员属性$name的时候被自动调用
}
}
$my = new main;
$my->name="李四";//此时,就调用了__set()魔术方法
echo $my->name;//此时,就调用__get()魔术方法
谢谢采纳!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-05-17
class main{
private $name = "李三";
private function __set($_name,$_val){
$this->$_name=$_val;//当外面直接设置私有成员属性$name的时候被自动调用
}
private function __get($_name){
retrun $this->$_name;//当外面直接使用私有成员属性$name的时候被自动调用
}
}
$my = new main;
$my->name="李四";//此时,就调用了__set()魔术方法
echo $my->name;//此时,就调用__get()魔术方法
private $name = "李三";
private function __set($_name,$_val){
$this->$_name=$_val;//当外面直接设置私有成员属性$name的时候被自动调用
}
private function __get($_name){
retrun $this->$_name;//当外面直接使用私有成员属性$name的时候被自动调用
}
}
$my = new main;
$my->name="李四";//此时,就调用了__set()魔术方法
echo $my->name;//此时,就调用__get()魔术方法
第2个回答 2018-04-30
上面的不要瞎答好不
错误点1
function _set($_name,$_val)前面不能实用private,应该用public才对
错误点2
retrun ???
明明是return好不?