博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
joomla结构分析 - 动态加载文件(类)
阅读量:5216 次
发布时间:2019-06-14

本文共 785 字,大约阅读时间需要 2 分钟。

很多框架都有动态加载文件这个功能,这样就不用在开头处把框架中的文件一次全部 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 就是我们尝试包含的类名。

转载于:https://www.cnblogs.com/ellisonDon/archive/2012/11/19/2777501.html

你可能感兴趣的文章
路冉的JavaScript学习笔记-2015年1月23日
查看>>
Mysql出现(10061)错误提示的暴力解决办法
查看>>
2018-2019-2 网络对抗技术 20165202 Exp3 免杀原理与实践
查看>>
NPM慢怎么办 - nrm切换资源镜像
查看>>
CoreData 从入门到精通(四)并发操作
查看>>
Swift - UIView的常用属性和常用方法总结
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
Java编程思想总结笔记Chapter 5
查看>>
[LeetCode]662. Maximum Width of Binary Tree判断树的宽度
查看>>
WinForm聊天室
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
Java 线程安全问题
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
Linux升级内核教程(CentOS7)
查看>>
Lintcode: Partition Array
查看>>
分享适合个人站长的5类型网站
查看>>
类别的三个作用
查看>>
【SICP练习】85 练习2.57
查看>>