- 针对变量的__get(),__set(),__isset(),__unset()
通过__get(),__set(),__isset(),__unset()来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。可以在类里面定义一个数组变量,来保存所有属性的名称与值。 - 针对方法的__call(),__callstatic()
通过__call(),__callstatic()来实现对不存在的方法和静态方法的调用。__callstatic也必须声明为static。
当写__call()方法时,就可以加上value参数,来对不同的函数名称进行操作。
PHP里面读取类的属性或者调用方法用 ->,读取静态的则需要用::。父类方法也需要用::。 - 针对类的打印的__toString
使用__toString把类变成字符串类型。当echo 一个类变量的时候,只需要在类里面声明了__toString(),echo会自动调用它来把类对象转换成一个字符串去输出。 - 针对把类当成函数输出的__invoke
类不能直接当成函数调用,比如echo $object();
如果object类里面定义了__invoke()函数,那么当把类当做函数调用的时候,会自动调用__invoke()函数。
网友评论