PHP的内置变量:directory_separator
directory_separator具有分隔的PHP内置命令的操作系统相关的返回路径,在Windows中回归,并在Linux或Unix的背面,是如此不同,它通常包含一个文件路径或上传目录将用于定义。
PHP在__(两个下划线)在一开始的方法作为一种魔法。所以你定义你自己的方法,不__前缀。

1、__construct()
当实例化一个对象时,对象的构造方法将首先被调用;
我们知道PHP5的对象模型和类的名字相同功能的类的构造函数,如果在同一时间,定义构造函数和__construc()方法,PHP5(__contruct)和默认的调用不调用的功能类似的名字,所以__contruct()作为该类的默认构造函数;

2、__destruct()
当对对象的所有引用被删除或对象被显式销毁时,就会执行析构函数。

3、__get(字符串的名称)
当试图访问一个并不存在的属性,它被称为;如果PHP试图读取一个对象不存在的属性,它会给出错误的信息。如果__get方法添加到类中,我们可以利用这个功能来执行各种各样的操作类似于java的反射。

4、__set(字符串的名称,混合价值)
将指派一个未定义的变量。

5、__call(字符串的名称,数组参数)
__call()时称为一个不可测的方法(如定义的,或无形的)称为。
__callstatic(字符串的名称,数组参数)
__callstatic()时称为一个不可测的方法(如定义的,或无形的)是一个静态方法调用。

6、__tostring()
该方法被调用时,对象是印刷,这是类似于java的ToString方法,以及函数回调的时候我们直接打印对象。

7、__clone()
当对象被克隆时,它被称为。

8、__sleep()
serialize()函数检查是否有一个神奇的方法__sleep。如果有一个__sleep()方法,它将被调用执行序列化操作之前,这个函数可以用来清理对象并返回一个数组包含所有变量的名称的对象。如果这个方法不返回任何内容,空是序列化的,导致在一个错误的e_notice。__sleep法常用于提交未提交的数据,或类似的行动。同时,如果你有大量的对象,不需要保存,这个功能很有用。

9、__wakeup()
而__sleep序列化(),()检查是否有__wakeup方法。如果有,那__wakeup方法被称为第一,和对象数据是提前准备的。__wakeup经常用于反序列化操作,如重新建立数据库连接,或执行其他初始化操作。

10、__isset()
当定义变量叫做isset()()或空(),()被称为__isset。

11、__unset()
设置一个对象的特性称为。如:unset($ C ->名称)。

12、__set_state()
当var_export叫,它叫的__set_state返回值作为返回值的var_export。

13、__autoload()
当一个对象实例化时,如果对应的类不存在,就调用该方法。当你试图使用一个类,PHP不组织,它将寻找__autoload全局函数。如果有一个函数,PHP将用一个参数调用它,参数是类名。

14、__invoke()
当试图调用的方式,调用一个函数对象,该__invoke方法称为自动。

幻方常数:
在__line__文件的行数。
的完整路径和文件名__file__。如果用它所包含的文件,包含文件名返回。从PHP 4.0.2,__file__总是包含一个绝对路径(如果它是一个符号连接,然后通过分析绝对路径),而以前的版本有时会包含一个相对路径。
__dir__文件所在的目录位置。如果使用包含文件的目录,包括文件位于返回。它相当于目录(__file__)。除非根目录,该目录的名称不包括斜线结束。(在PHP 5.3.0添加)=
__function__的函数名(PHP 4.3.0新)。从PHP 5,这种持续的返回函数的名字时,它的定义(区分大小写)。在PHP 4中,价值总是小写。
该__class__类的名称(PHP 4.3.0新)。从PHP 5,这种持续的返回类的名称时,它的定义(区分大小写)。在PHP 4中,价值总是小写。
对__method__类的方法名(PHP 5.0.0新)。返回的方法的名称时,它的定义(实例)。
__namespace__当前命名空间的名称(案例与灵敏度)。这个常数定义在编译时(PHP 5.3.0添加)