dedecms, 文件, 加载, 顺序, 原理
DedeCms织梦模板建站程序cms可以说是国内最出名的cms系统了,对于咱们研究cms,二次开发cms都是一个很好地学习。 下面分享下dedecms文件是如何加载网站的模板是如何替换的。 比如织梦模板建站程序,ecshop这类网站的模板引擎系统,研究它们的原理,就是从网站安装根目录的index.php看起来,看看都引入了那些文件,这些文件又起到了什么作用。 织梦模板建站程序的index首先判断了/data/common.inc.php这个文件存不存在,存在就是已经网站安装过了,否则就是没网站安装过,跳到install/index.php。 接下来引入了全局加载的常用文件require_once(dirname(__FILE__)."/include/common.inc.php");进入这个文件咱们会看到error_reporting(E_ALL||~E_NOTICE);define('DEDEINC',str_replace("\\",'/',dirname(__FILE__)));define('DEDEROOT',str_replace("\\",'/',substr(DEDEINC,0,-8)));define('DEDEDATA',DEDEROOT.'/data');define('DEDEMEMBER',DEDEROOT.'/member');define('DEDETEMPLATE',DEDEROOT.'/templets');它定义了很多路径变量,这样在以后引入文件的时候,会变得非常方便和明了。 接下来定义了一个function_RunMagicQuotes(&$svar)函数,这个函数对post,get,global等变量进行了过滤处理,这样使用更安全。 接下来引入系统常用变量require_once(DEDEDATA."/config.cache.inc.php");名站分类目录变量require_once(DEDEINC.'/uploadsafe.inc.php');网站数据库配置require_once(DEDEDATA.'/common.inc.php');系统安全配置require_once(DEDEDATA.'/safe/inc_safe_config.php');剩下的是一些常用目录的设置,比如:网站的模板的存放目录,插件目录,会员目录,专题列表,附件目录等。 接下来引入网站数据库的具体操作办法类:require_once(DEDEINC.'/dedesql.class.php');剩下的是全局函数和模型控制的引入:require_once(DEDEINC.'/common.func.php');//模块MVC框架需要的控制器和模型基类require_once(DEDEINC.'/control.class.php');require_once(DEDEINC.'/model.class.php');这些就是include/common.inc.php包含的内容,接下来,index.php引入了require_onceDEDEINC."/arc.partview.class.php";这个是网站的模板解析类,有了它,通过调用它的具体的方法Display,就可以加载网站的模板文件,并显示了。 顺序 , 加载 , 原理 |
Dedecms友情链接/uploads/fli<x>nk/不显示正确的图片路径错误