PHP的魔术

PHP 将所有以 (两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 为前缀。

. . .

PHP魔幻(术)变量

1
2
3
4
5
6
7

- __LINE__ 文件中的当前行号。
- __FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
- __DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(__FILE__)。
- __FUNCTION__ 本常量返回该函数被定义时的名字(区分大小写)
- __CLASS__ 本常量返回该类被定义时的名字(区分大小写)

PHP魔幻(术)方法

  • __construct() 实例化类时自动调用。
  • __destruct() 类对象使用结束时自动调用。
  • __set() 在给未定义的属性赋值的时候调用。
  • __get() 调用未定义的属性时候调用。
  • __isset() 使用isset()或empty()函数时候会调用。
  • __unset() 使用unset()时候会调用。
  • __sleep() 使用serialize序列化时候调用。
  • __wakeup() 使用unserialize反序列化的时候调用。
  • __call() 调用一个不存在的方法的时候调用。
  • __callStatic()调用一个不存在的静态方法是调用。
  • __toString() 把对象转换成字符串的时候会调用。比如 echo。
  • __invoke() 当尝试把对象当方法调用时调用。
  • __set_state() 当使用var_export()函数时候调用。接受一个数组参数。
  • __clone() 当使用clone复制一个对象时候调用。