很多框架都有动态加载文件这个功能,这样就不用在开头处把框架中的文件一次全部 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 就是我们尝试包含的类名。
分享到:
相关推荐
- **LICENSE.txt**: 这个文件包含了 Joomla! 的许可协议,通常基于GPL(GNU General Public License)协议,解释了您可以如何使用、修改和分发Joomla! 的源代码。 - **README.txt**: 这是开发者或维护者提供的关于...
文件结构分析** - **htaccess.txt 和 robots.txt**: 这两个文件是网站的配置文件。`.htaccess` 用于重定向、URL 重写、限制访问等,而 `robots.txt` 告诉搜索引擎爬虫哪些页面可以抓取,哪些不能。 - **...
1. **模板文件结构:** - `index.php`:模板的主要 PHP 文件。 - `images/`:存放图片资源的目录。 - `css/`:存放 CSS 样式表的目录。 - `html/`:存放模块布局文件的目录。 2. **模板样式设置:** - 使用 ...
- **logs**:存放Joomla系统的日志文件,有助于诊断问题和分析网站行为。 - **libraries**:包含Joomla的核心库文件,提供核心功能和API。 - **tmp**:临时文件夹,用于存放系统运行过程中产生的临时文件,如编译...
2. **文件结构分析**: - **installation**:这个目录包含了安装过程中的语言文件,确保了汉化的安装向导,让用户在安装Joomla时就能看到中文提示,使安装过程更为友好。 - **media**:媒体资源文件夹,可能包含...
文件结构分析 - Joomla33 在提供的文件列表中,"Joomla33"可能是Joomla 3.x版本的子目录。Joomla 3.x版本是Joomla的一个重要分支,支持HTML5和CSS3,且对移动设备有很好的支持。这个目录可能包含了Joomla安装所需...
**Joomla v2.5.22 知识点详解** **一、Joomla! CMS 简介** Joomla! 是一个强大的开源内容管理系统(CMS),在全球...通过理解其核心组件和源码结构,开发者可以更有效地利用Joomla! 构建出满足特定需求的高质量网站。
首先,我们来了解一下Joomla组件的基本结构。一个标准的Joomla组件通常包含以下部分: 1. **com_account后台**:这部分是组件的后台管理界面,负责配置和管理组件的设置。开发者会在这里创建控制器、模型、视图和...
- 为了简化数据处理过程,可以创建专门的数据表类,利用**Joomla!**提供的模型类来进行CRUD(创建、读取、更新、删除)操作。 3. **创建表单** - 表单用于收集用户输入的数据,**Joomla!**提供了丰富的表单元素,如...
- **模板结构解析**:深入解析模板文件结构,帮助开发者更好地理解和修改模板代码。 5. **插件开发** - **开发环境搭建**:介绍搭建Joomla!插件开发所需环境的方法。 - **插件类型**:列举常见的插件类型及其...
该压缩包文件“学校实训毕业商用项目-红白大气机械类企业整站模板(修正版).zip”包含了一个适用于学校实训、毕业设计以及商业用途的网站模板,特别针对机械类企业设计。这个模板以红白两色为主色调,展现出大气且...
这包括缓存机制的使用、数据库优化、错误日志分析等,帮助提升网站的加载速度和运行效率。 总之,《Using Joomla!(2nd)》是一本全面覆盖Joomla! CMS使用的指南,无论你是初学者还是经验丰富的开发者,都能从中获取...
- 分析`plugins`目录,理解Joomla插件的工作原理和T3的插件集成方式。 - 探索`media`和`images`,学习如何管理网站的媒体资源。 - 查看`logs`,学习如何监控和调试Joomla站点的运行情况。 - 阅读T3官方文档,...
- 动态生成导航结构。 #### 第6章 FLEXCACHE缓存机制 ##### 6.1 介绍 - **目的**: - 提高网站性能。 - 减轻服务器负担。 ##### 6.2 FLEXCACHE实例 - **示例**: - 示例一: 缓存静态页面。 - 示例二: 缓存动态...
本实训项目是基于Java技术实现的一个网络爬虫(也称为“蜘蛛”)系统,用于抓取...在实践中,学生们将面临如何高效抓取数据、处理动态加载内容、防止反爬策略等问题,这些挑战将进一步提升他们的编程和问题解决能力。
**mod_sequence_slider-master文件夹结构分析**: - `index.html`:示例网页,展示了模块如何在实际网站上运行。 - `css`目录:包含滑块的样式文件,如`style.css`,定义了滑块的外观和布局。 - `js`目录:存放...
4. **index.php**:这是Joomla的入口文件,负责加载框架并渲染页面内容。在这个模板中,它处理了模板的逻辑和布局。 5. **offline.php**:当网站处于维护模式时,会显示这个页面,告知访客网站暂时不可用。 6. **...