PHP5中常用的魔术函数有哪些,举例说明各自的用法。

时间:2022-08-09 16:25:04

所谓魔术函数,是指不同时刻为了完成特定的功能,而自动调用的方法。

__sleep       在serialize()序列化对象之前会调用这个函数
__wakeup    在unserialize()解序列化之前调用这个函数
__toString   当将对象转化为字串的时候调用这个函数
__construct  构造函数,实例化一个对象的时候调用
__destruct   析构函数,当对象实力被释放的时候调用
__call     当调用类中没有的方法时会调用此函数
__get     当访问一个类中没有的属性时调用
__set     当设置一个类中没有的属性的值时调用
__isset     调用外部的isset函数检查类是否有某个属性时调用
__unset       删除类的某个属性时调用
__set_state  使用var_export导出对象的属性和值时调用
__clone        复制某个类的实例时调用
__autoload   当使用一个类而这个类还未被加载时会被自定调用

魔术变量:魔术变量的值常常岁代码所在的位置而改变,例如__line__的值,随着所在的行改变值。注意:区分大小写。

8个常用的魔术变量有:

1、__line__返回当前位置所在的行。

2、__file__返回文件的完整路径和文件名;如果用在被包含文件中,则返回被包含的文件路径和文件名。

3、__dir__返回文件所在的目录。如果用在被包含的文件中,则返回被包含的文件目录。

4、__function__返回定义函数的方法名。

5、__method__返回类的函数方法名。(当函数位于类外时,45返回的值一样;当函数位于类里面时,5比4多了:类名::)

6、__class__返回定义类的类名。

7、__namespace__返回当前的命名空间。

8、__trait__(意思是一种代码复用的方法)类似于class.