[关闭]
@jingwentian 2015-06-04T06:29:45.000000Z 字数 1007 阅读 1221

PHP魔术常量,魔术方法,预定义常量

PHP


1.魔术方法

__construct()
实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用

__destruct()
当删除一个对象或对象操作终止时被调用

__call()
对象调用某个方法, 若方法存在,则直接调用;若不存在,则会去调用__call

__get()
读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get

__set()
设置一个对象的属性时, 若属性存在,则直接赋值;若不存在,则会调用__set

__toString()
对象以字符串方式被使用时会调用此方法

__clone()
对象克隆时此方法被执行

__sleep()
序列化对象时会先调用此方法,再执行序列化操作;此功能可以用于清理对象,并返回一个包含对象中所有应被序列化的变量名称的数组

__wakeup()
对象反序列化时会先调用此方法

__isset()
当对不可访问属性调用 isset() 或 empty() 时,__isset() 会被调用

__unset()
当对不可访问属性调用 unset() 时,__unset() 会被调用

__set_state()
调用var_export时,被调用。用__set_state的返回值做为var_export的返回值

__autoload()
自动加载类

2.魔术常量

__LINE__
返回文件中的当前行号

__FILE__
返回文件的完整路径和文件名,如果用在包含文件中,则返回包含文件名

__DIR__
文件所在的目录,如果用在被包括文件中,则返回被包括的文件所在的目录

__FUNCTION__
返回函数名

__CLASS__
返回类名

__TRAIT__
返回trait名字

__METHOD__
返回方法名

__NAMESPACE__
当前命名空间的名字

3.预定义常量

PHP_VERSION
PHP版本

PHP_OS
执行PHP解释器的操作系统名称

PHP_SAPI
用来判断是使用命令行还是浏览器执行的

E_ERROR
最近的错误处

E_WARNING
最近的警告处

E_PARSE
剖析语法有潜在问题处

E_NOTICE
发生不寻常但不一定是错误处

PHP_EOL
系统换行符

DIRECTORY_SEPARATOR
系统目录分隔符

PHP_INT_MAX
INT最大值,32位平台时值为2147483647

PHP_INT_SIZE
INT字长,32位平台时值为4
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注