函数名或预定义变量名有下划线为了避免跟用户自定义的名字冲突,
函数名前有2个下划线的是魔术方法,变量名前有一个下划线的一般都是系统变量(一般是数组)
比如 $_GET,$_POST,$_SERVER 等等
有2个下划线的还有常量 比如 __FILES__ , __LINE__ 等
命名规则
加一个为私有的
加两个一般都是系统默认的,系统预定义的,即所谓:
====
“魔术方法”与“魔术常量”
====
★PHP双下划线函数即“魔术方法”:
__construct、__destruct
__construct 构造方法,当一个对象创建时调用此方法。
__destruct 析构方法,PHP将在对象被销毁前(即从内存中清除前)调用这个方法。如果你想明确地销毁一个对象,你可以给指向该对象的变量分配任何其它值.通常将变量赋值勤为NULL或者调用unset.
__clone
PHP5中的对象赋值是使用的引用赋值,此时,对象会自动调用__clone魔术方法。
__toString
__toString方法在将一个对象转化成字符串时自动调用,比如使用echo打印对象时。
出处:http://zbl19830728.blog.163.com/blog/static/4777639020113832554982/
PHP起止为双下划线的常量即为“魔术常量”:
__LINE__文件中的当前行号。
__FILE__文件的完整路径和文件名。
__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠
注:以上内容来自“PHP中文手册->语言参考->常量->魔术常量”。