标签:des style blog http io os 使用 ar strong
命名的规则
加一个为私有的
加两个一般都是系统默认的,系统预定义的,即所谓: “魔术方法”与“魔术常量”
PHP起止为双下划线的常量即为“魔术常量”:
__LINE__文件中的当前行号。
__FILE__文件的完整路径和文件名。
__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠
注:以上内容来自“PHP中文手册->语言参考->常量->魔术常量”。
从php5以后的版本,php的类就可以使用魔术方法了。
php规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。
PHP中的魔术方法有 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, __clone, __autoload
__autoload
__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)
标签:des style blog http io os 使用 ar strong
原文地址:http://my.oschina.net/linuxjd/blog/313187