/include/framework.php 这个文件在index.php中是最早引入的文件之一,这个文件主要实现了一些基本类的引入,下面我们逐一看一下:

require_once( JPATH_LIBRARIES  . DS . 'loader.php' );  //loader.php 是一个载入类的基本工作,最重要的是Jimport
比如 jimport( 'joomla.environment.response'   ); 实际上就include_once /libaries/jooma/environment/response.php

require_once( JPATH_CONFIGURATION . DS . 'configuration.php' ); //引入了configuration.php

jimport( 'joomla.base.object' );
jimport( 'joomla.environment.request' );
JRequest::clean();  //清空Jrequest

// System configuration
$CONFIG = new JConfig(); //读取配置文件,生成Jconfig对象

if (JDEBUG) {
 jimport( 'joomla.utilities.profiler' );
 $_PROFILER =& JProfiler::getInstance( 'Application' );
}

以上这段主要是如果配置处于debug状态,那么就生成$_PROFILER,这个对象主要要用来,记录页面执行到某一节点的执行时间,内存状态调试信息。

jimport( 'joomla.environment.response'   );
jimport( 'joomla.application.menu' );   //needs to be loaded later
jimport( 'joomla.user.user');
jimport( 'joomla.environment.uri' );
jimport( 'joomla.factory' );
jimport( 'joomla.methods' );
jimport( 'joomla.html.html' );      //needs to be loaded later
jimport( 'joomla.utilities.array' );     //needs to be loaded later
jimport( 'joomla.utilities.error' );
jimport( 'joomla.utilities.utility' );
jimport( 'joomla.utilities.string' );  //needs to be loaded later
jimport( 'joomla.filter.output' );
jimport( 'joomla.version' );    //needs to be loaded later
jimport( 'joomla.event.*');

这些引入的类中,比较重要的是 factory user menu ,需要仔细研究一下,其他的用的时候,再仔细看文档就行啦,

当然,methods也包含了很多基本的函数和类,尤其是需要了解SEF的时候。

接下来,我们将仔细看看/index.php中 $mainframe =& JFactory::getApplication('site') 这句话到底完成了什么工作。

转载于:https://www.cnblogs.com/vicenteforever/articles/1627184.html

joomla源代码探析(五) framework.php相关推荐

  1. 中国康复医院产业经营效益探析与运营态势调研报告2022版

    中国康复医院产业经营效益探析与运营态势调研报告2022版 -------------------------------------  <修订日期>:2022年2月 <出版单位> ...

  2. 中文分词工具探析(一):ICTCLAS (NLPIR)

    [开源中文分词工具探析]系列: 开源中文分词工具探析(一):ICTCLAS (NLPIR) 开源中文分词工具探析(二):Jieba 开源中文分词工具探析(三):Ansj 开源中文分词工具探析(四):T ...

  3. 《编程机制探析》第六章 面向对象

    <编程机制探析>第六章 面向对象 面向对象(Object Oriented)是命令式编程的主流编程模型,其概念极其重要.可以说,命令式编程几乎就是面向对象的天下. 面向对象(Object ...

  4. [原创].NET 分布式架构开发实战五 Framework改进篇

    原文:[原创].NET 分布式架构开发实战五 Framework改进篇 .NET 分布式架构开发实战五 Framework改进篇 前言:本来打算这篇文章来写DAL的重构的,现在计划有点改变.之前的文章 ...

  5. 全球及中国建筑产业十四五建设机会与运营风险探析报告2022版

    全球及中国建筑产业十四五建设机会与运营风险探析报告2022版 --------------------------------------------- [修订日期]:2021年11月 [搜索鸿晟信合 ...

  6. 中国太阳能热水器市场营销模式探析与品牌格局调研报告2022版

    中国太阳能热水器市场营销模式探析与品牌格局调研报告2022版 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订日期]:2021年11月 [搜索鸿 ...

  7. 全球及中国商业航天产业应用模式探析及投资布局态势分析报告2021-2027年版

    全球及中国商业航天产业应用模式探析及投资布局态势分析报告2021-2027年版 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订 ...

  8. 计算机基础考试试题(扩招考试),大学计算机科学基础探析论文

    "大学计算机基础"是各所高校非常重要的一门课程,其理论课程以讲解计算机基础知识为主,而将工具性.操作性的内容放到实验课中.下面是学习啦小编给大家推荐的大学计算机科学基础探析论文,希 ...

  9. 中国浙江省动漫产业发展方向探析及投资决策建议报告2021-2027年

    中国浙江省动漫产业发展方向探析及投资决策建议报告2021-2027年 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订日期]:2021年10月 ...

最新文章

  1. python【Configparser解析配置文件库】Python3中的configparser模块
  2. USB启动盘制作的几种方式
  3. 轻量级锁的加锁和解锁逻辑
  4. 一步步使用SAP CRM Application Enhancement Tool创建扩展字段
  5. Java引用类型——强引用、软引用、弱引用和虚引用
  6. 信息安全工程师笔记-网络攻击常见技术
  7. rhel6.3-64 yum问题
  8. #55 #56 #58 #59 #60 #66
  9. 如何解决Mathtype安装问题
  10. 众昂矿业:萤石行业发展四大趋势
  11. 机器学习——训练模型
  12. 组态软件DIAView、扫码枪和第三方系统MES、SAP等应用
  13. python 源代码 macd双底 高 低_利用Python实现MACD''顶底背离''形态,并实现自动化交易!...
  14. 2019年淘客怎么做推广之大淘客都必须知道的联盟发展方向和玩法
  15. 荣耀50和荣耀50se参数对比 哪个更值得入手
  16. Python如何将一个列表拆分,将多个数据作为一个元素存放到元组中
  17. gnu linux额外支持的运算符,《Shell编程从入门到精通》张昊-chap1-8
  18. 拯救者Y9000P 加装固态
  19. linux surface pro 4 driver,重置出错?微软Win10平板Surface Pro 4重装系统教程详解
  20. matlab数据整周期截断,凯塞窗四谱线插值FFT的电力谐波分析方法

热门文章

  1. MySQL 唯一索引 UNIQUE KEY 会导致死锁?
  2. 深入浅出Spring Security(一):三句话解释框架原理
  3. Random:产生随机数的类
  4. java 文件 缓冲区大小_Java web 中文件下载遇到的缓冲大小问题
  5. 什么是初效过滤器_聊聊中效过滤器的哪些事?
  6. b360装服务器系统,B365主板能不能安装Win7系统 B365和B360主板区别对比介绍
  7. java在线阅读word_java在线预览txt、word、ppt、execel,pdf代码
  8. delphi7aes加密解密与java互转_惊呆了!不改一行Java代码竟然就能轻松解决敏感信息加解密|原创
  9. td不显示边框_FANUC Series 0i Mate-TD系统上电显示SP1241 (S)D/A变换器异常维修,FANUC主板SP1_维修中心...
  10. python解释器的功能_python的解释器是什么?