PHP中用下划线开头的变量含义

命名的规则
php

  •   加一个为私有的框架

  • 加两个通常都是系统默认的,系统预约义的,即所谓:    “魔术方法”与“魔术常量”
    函数

PHP起止为双下划线的常量即为“魔术常量”:ui

__LINE__文件中的当前行号。.net

__FILE__文件的完整路径和文件名。code

__DIR__文件所在的目录。若是用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,不然目录中名不包括末尾的斜杠对象

注:以上内容来自“PHP中文手册->语言参考->常量->魔术常量”。

从php5之后的版本,php的类就能够使用魔术方法了。

php规定以两个下划线(__)开头的方法都保留为魔术方法,因此建议你们函数名最好不用__开头,除非是为了重载已有的魔术方法。blog

PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoloadget

__autoloadio

__autoload 函数,它会在试图使用还没有被定义的类时自动调用。经过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

若是要定义一个全局的自动加载类,则必须用spl_autoload_register()方法将处理类注册到PHP标准库:

<?php    
class Loader    
{    
    static function autoload_class($class_name)    
    {    
    //寻找正确的$class_name类,并引入,没有则抛出异常    
    }    
}    
    
/**  
*  设置对象的自动载入  
*  spl_autoload_register — Register given function as __autoload() implementation  
*/    
spl_autoload_register(array('Loader', 'autoload_class'));    
    
$a = new Test();//Test没用require就实例化,实现自动加载,不少框架就用这种方法自动加载类    
    
?>

注意: 在 __autoload 函数中抛出的异常不能被 catch 语句块捕获并致使致命错误,因此应该在函数自己作捕获。

(原帖:http://blog.csdn.net/zlking02/article/details/6752256)

相关文章
相关标签/搜索