魔术方法和魔术常量
魔术方法
__construct() 实例化对象时
__destruct() 删除对象之前
__clone() 克隆一个对象时
__set() 给不可访问的属性赋值
__get() 获取不可访问的属性值
__unset() 删除不可访问的属性
__isset() 判断不可访问的属性是否存在
__call() 当调用一个不可访问的方法(非静态方法)
__callstatic() 当调用一个不可访问的静态方法
__sleep() 序列化一个对象时
__wakeup() 反序列化一个对象时
魔术常量
__LINE__ 当前行号
__FILE__ 文件的完整路径和文件名
__DIR__ 文件所在的目录
__CLASS__ 当前类名
__METHOD__ 当前方法名
__FUNCTION__ 函数名称
__NAMESPACE__ 当前命名空间
__TRAIT__ trait的名字