在php中自动加载我们会使用到方法__autoload spl_autoload_register来实现,像我们有几百个类时我们希望是希望使用__autoload来创建,然后直接创建类名就可以了,下面简单的总结了一下自动加载类的用法,希望对各位有帮助。
在PHP5之前,各个PHP框架如果要实现类的自动加载,一般都是按照某种约定自己实现一个遍历目录,自动加载所有符合约定规则的文件的类或函数。 当然,PHP5之前对面向对象的支持并不是太好,类的使用也没有现在频繁。 在PHP5后,当加载PHP类时,如果类所在文件没有被包含进来,或者类名出错,Zend引擎会自动调用__autoload 函数。此函数需要用户自己实现__autoload函数。 在PHP5.1.2版本后,可以使用spl_autoload_register函数自定义自动加载处理函数。当没有调用此函数,默认情况下会使用SPL自定义的spl_autoload函数。 看下面两个例子:
1、 __autoload示例:
代码如下 | 复制代码 | ||||||||
function __autoload($class_name) { echo '__autload class:', $class_name, ' } new Demo(); 以上的代码在最后会输出:__autload class:Demo。 并在此之后报错显示: Fatal error: Class 'Demo' not found 2、spl_autoload_register示例:
|