joomla结构分析 - 动态加载文件(类)

很多框架都有动态加载文件这个功能,这样就不用在开头处把框架中的文件一次全部 include 进来,可以按需加载。
joomla中提供了这个功能的文件是
libraries/loader.php
文件中开头的这句
spl_autoload_register(array('JLoader', 'load'));
spl_autoload_register 是php5.1.2版本以上才提供的功能,类似 __autoload() 函数,但[/size]__autoload()只能提供一个参数,spl_autoload_register 的参数可以是多个(数组),上面那句的意思就是当文件中不存在一个类时,会尝试去执行 Joader 类的 load() 方法,这个就是动态加载的诀窍了,下面贴下 load () 的内容

 

 

public static function load($class)

{

// Sanitize class name.

$class = strtolower($class);

// If the class already exists do nothing.

if (class_exists($class)) {

return;

}

// If the class is registered include the file.

if (isset(self::$_classes[$class])) {

include_once self::$_classes[$class] ;

return true;

}

return false;

}


load 的参数 $class 就是我们尝试包含的类名。

posted on 2012-11-19 16:27  ellisonDon  阅读(620)  评论(0编辑  收藏  举报

导航