joomla源代码探析(四)库的解析

其实这个文件没什么好说的,主要就是定义一些路径,贴出来,主要是以后文件中提这些路径的时候,有一个印象

$parts = explode( DS, JPATH_BASE );

//Defines
define( 'JPATH_ROOT',   implode( DS, $parts ) );

define( 'JPATH_SITE',   JPATH_ROOT );
define( 'JPATH_CONFIGURATION',  JPATH_ROOT );
define( 'JPATH_ADMINISTRATOR',  JPATH_ROOT.DS.'administrator' );
define( 'JPATH_XMLRPC',   JPATH_ROOT.DS.'xmlrpc' );
define( 'JPATH_LIBRARIES',   JPATH_ROOT.DS.'libraries' );
define( 'JPATH_PLUGINS',  JPATH_ROOT.DS.'plugins'   );
define( 'JPATH_INSTALLATION', JPATH_ROOT.DS.'installation' );
define( 'JPATH_THEMES'    , JPATH_BASE.DS.'templates' );
define( 'JPATH_CACHE',   JPATH_BASE.DS.'cache');

这些路径在以后的文件中经常用到。

/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') 这句话到底完成了什么工作。

你可能感兴趣的:(html,工作,PHP,cache)