永发信息网

php __set()和__get()的具体用法,举例说明,谢~

答案:3  悬赏:10  手机版
解决时间 2021-03-28 21:31
  • 提问者网友:王者佥
  • 2021-03-27 22:47
php __set()和__get()的具体用法,举例说明,谢~
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-03-27 23:03
__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()魔术方法
谢谢采纳!!!
全部回答
  • 1楼网友:愁杀梦里人
  • 2021-03-28 00:44

上面的不要瞎答好不
错误点1
function _set($_name,$_val)前面不能实用private,应该用public才对
错误点2
retrun ???
明明是return好不?
  • 2楼网友:深街酒徒
  • 2021-03-28 00:26
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()魔术方法
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯