php 魔术方法学习笔记
Posted 在下刘彦直
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 魔术方法学习笔记相关的知识,希望对你有一定的参考价值。
__get() __set() __isset() __unset
__call __callstatic
__call是调用不可见(不存在或者没权限)的方法时,自动调用。
$lisi->say(1,2,3) 对象中并不存在say 方法 __call("say",array(1,2,3))运行
__get()用来获取私有成员的属性值,有一个参数,参数传入你要获取的私有成员的属性名称,返回的是获取的值。该方法不用我们手工去调用,只需要封装在类里面就好了。如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。如下代码
class tian{
private $age=18;
public function __get($property_name)
{
if(isset($this->$property_name)){
return($this->$property_name);
}
}
}
$a=new tian();
echo $a->age;
class tian{
private $age=18;
public function __get($property_name)
{
if(isset($this->$property_name)){
return($this->$property_name);
}
}
public function __set($a,$v){
echo $this->$a ;
}
}
$a=new tian();
echo $a->name="大傻逼";
如果成员属性不是私有的,也不会调用到该函数。
以上是关于php 魔术方法学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
Python100天学习笔记Day20 迭代器与生成器及 并发编程