您当前的位置: 首页 >  php

暂无认证

  • 1浏览

    0关注

    94628博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

php里面的魔术方法__魔术方法名__():__set __get __call

发布时间:2022-02-01 21:57:30 ,浏览量:1

 public $name; public $sex; public $iq=10; protected $money; protected $dna; const BIRTHPLACE='地球'; static public $counter=0;//静态属性,它是公共的资源和具体的实例没有关系 //构造函数 public function __construct($name,$sex){ self::$counter++; $this->name=$name; $this->sex=$sex; } protected function chew($food){ echo "
		

{$food}已经被咀嚼完成!

"; } //抽象方法 abstract public function eat($food); static public function hello(){ echo '

您好!我是来自'.self::BIRTHPLACE.'的人类

'; } } class Student extends Humanity { const BIRTHPLACE='火星'; private $hh=666; public $studentId; public function __set($name,$value){ $this->$name=$value; } public function __get($name){ return ($this->$name)*666; } public function test($subject){ echo "

{$this->name}正在考{$subject}!

"; } public function eat($food){ $this->chew($food); echo "

{$this->name}正在快速的吃{$food}!

"; } } $hanMM=new Student('韩梅梅','女'); echo $hanMM->hh;
解析:

核心在于,私有性的《《《属性》》》调用时才能执行__set和__get方法。 怎么执行呢? 调用私有性的属性即可,但是切记调用时不能赋值哦

在这里插入图片描述

 public $name; public $sex; public $iq=10; protected $money; protected $dna; const BIRTHPLACE='地球'; static public $counter=0;//静态属性,它是公共的资源和具体的实例没有关系 //构造函数 public function __construct($name,$sex){ self::$counter++; $this->name=$name; $this->sex=$sex; } protected function chew($food){ echo "
		

{$food}已经被咀嚼完成!

"; } //抽象方法 abstract public function eat($food); static public function hello(){ echo '

您好!我是来自'.self::BIRTHPLACE.'的人类

'; } } class Student extends Humanity { const BIRTHPLACE='火星'; private $hh=666; public $studentId; public function __call($funcName,$agrs){ echo "__call方法"; } private function test($subject){ echo "

{$this->name}正在考{$subject}!

"; } public function eat($food){ $this->chew($food); echo "

{$this->name}正在快速的吃{$food}!

"; } } $hanMM=new Student('韩梅梅','女'); echo $hanMM->test();

解析: 调用私有性的方法时才自动执行的哦

在这里插入图片描述

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.2220s