魔术方法
在定义类的时候,可以在类里面写上10多个魔术方法,这些方法有特殊的作用
PHP将以 __开头的类方法保留为魔术方法,所以在自定义类方法时建议不要以 __为前缀
每个魔术方法在类中有特殊的作用:
1. __construct()
2. __destruct()
3. __set()
public void __set(string $name, mixed $value)
在给不可访问属性赋值时,__set() 会被调用
必须声明为public
4. __get()
public mixed __get(string $name)
读取不可访问属性的值时,__get()会被调用
必须声明为public
5. __isset()
public bool __isset(string $name)
当对不可访问属性调用isset()或empty()时,__isset()会被调用
必须声明为public
6. __unset()
public void __unset(string $name)
当对不可访问属性调用 unset()时,__unset() 会被调用
必须被声明为public
7. __call()
public mixed __call(string $name, array $arguments)
在对象中调用一个不可访问方法时,__call()会被调用
$name参数是调用的方法名称
$arguments参数是一个枚举数组,包含着要传递给方法 $name 的参数