PHP中的魔术方法

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

猜你喜欢

热点阅读