PHP中的魔术常量与魔术方法

2017-09-13 20:35:12来源:CSDN作者:huihui2017人点击

分享

魔术常量

常量名 参数
__CLASS__ 当前所在类的名称
__LINE__ 当前行号
__FILE__ 文件完整路径和文件名
__DIR__ 文件所在目录
__FUNCTION__ 返回该函数被定义时的名字
__METHOD__ 代表成员方法名
__NAMESPACE__ 命名空间名称(5.3 新增)
__TRAIT__ Trait 的名字(5.4 新增)

魔术方法

方法名 参数 触发条件 作用
__construct() 可选参数 对象被实例化时自动调用 给属性赋初值或者打开资源
__destruct() 无法传参 对象被销毁之前自动触发 关闭资源
__get() 一个参数 在外部使用非公有属性时自动触发 在对象外部访问非公有属性
__set() 两个参数 在对象外部设置非公有属性时自动触发 在对象外部设置封装属性
__isset() 一个参数 在对象外部检测封装属性是否存在
__unset() 一个参数 用unset销毁一个非公有属性时触发
__clone() 在对象被克隆时自动触发,封装它可以导致该对象不能被克隆,使对象可以实现引用赋值的机制
__toString() 用echo或print输出对象时自动触发
__invoke() 把对象当作函数调用时自动触发
__call() 两个参数(方法名,值) 当对象调用不存在的的方法时触发 用来作友好提示
__callStatic() 同上
__autoload() 自动加载类,实例化一个不存在的类时,自动调用对象名传入自动加载类放入文件名中匹配去加载该类 用于判断是否存在需要加载的类
__sleep() 对象被串行化时自动调用
__wakeup() 当对象被反串行化时自动调用
__set_state() 用var_export()输出对象时自动调用

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台