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 就是我们尝试包含的类名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值