搬码资源网广告位 搬码资源网广告位

DedeCms文件加载顺序原理介绍

<p style="text-indent:2em;">Dedecms 织梦cms可以说是国内最出名的cms系统了,对于我们研究cms,二次开发cms都是一个很好地学习。

<p style="text-indent:2em;">下面分享下Dedecms文件是如何加载模板是如何替换的。

<p style="text-indent:2em;">比如织梦,ecshop这类模板引擎系统,研究它们的原理,就是从安装根目录的index.PHP看起来,看看都引入了那些文件,这些文件又起到了什么作用。

<p style="text-indent:2em;">织梦的index首先判断了/data/common.inc.PHP这个文件存不存在,存在就是已经安装过了,否则就是没安装过,跳到install/index.PHP。

<p style="text-indent:2em;">接下来引入了全局加载的常用文件

<p style="text-indent:2em;">require_once (dirname(__FILE__) . "/include/common.inc.PHP");

<p style="text-indent:2em;">进入这个文件我们会看到

<p style="text-indent:2em;">error_reporting(E_ALL || ~E_NOTICE);

<p style="text-indent:2em;">define('DEDEINC',str_replace("\\",'/',dirname(__FILE__) ) );

<p style="text-indent:2em;">define('DEDEROOT',substr(DEDEINC,-8) ) );

<p style="text-indent:2em;">define('DEDEDATA',DEDEROOT.'/data');

<p style="text-indent:2em;">define('DEDEMEMBER',DEDEROOT.'/member');

<p style="text-indent:2em;">define('DEDETEMPLATE',DEDEROOT.'/templets');

<p style="text-indent:2em;">它定义了很多路径变量,这样在以后引入文件的时候,会变得非常方便和明了。

<p style="text-indent:2em;">接下来定义了一个function _RunMagicQuotes(&$svar)函数,这个函数对post,get,global等变量进行了过滤处理,这样使用更安全。

<p style="text-indent:2em;">接下来引入系统常用变量

<p style="text-indent:2em;">require_once(DEDEDATA."/config.cache.inc.PHP");

<p style="text-indent:2em;">上传变量

<p style="text-indent:2em;">require_once(DEDEINC.'/uploadsafe.inc.PHP');

<p style="text-indent:2em;">数据库配置

<p style="text-indent:2em;">require_once(DEDEDATA.'/common.inc.PHP');

<p style="text-indent:2em;">系统安全配置

<p style="text-indent:2em;">require_once(DEDEDATA.'/safe/inc_safe_config.PHP');

<p style="text-indent:2em;">剩下的是一些常用目录的设置,比如:

<p style="text-indent:2em;">模板的存放目录,插件目录,会员目录,专题列表,附件目录等。

<p style="text-indent:2em;">接下来引入数据库的操作类:

<p style="text-indent:2em;">require_once(DEDEINC.'/dedesql.class.PHP');

<p style="text-indent:2em;">剩下的是全局函数和模型控制的引入:

<p style="text-indent:2em;">require_once(DEDEINC.'/common.func.PHP');

<p style="text-indent:2em;">// 模块MVC框架需要的控制器和模型基类

<p style="text-indent:2em;">require_once(DEDEINC.'/control.class.PHP');

<p style="text-indent:2em;">require_once(DEDEINC.'/model.class.PHP');

<p style="text-indent:2em;">这些就是include/common.inc.PHP包含的内容,接下来,index.PHP 引入了

<p style="text-indent:2em;">require_once DEDEINC."/arc.partview.class.PHP";

<p style="text-indent:2em;">这个是模板解析类,有了它,通过调用它的方法Display,就可以加载模板文件,并显示了。

声明:
本站发布的文章及附件仅限用于学习和研究目的;不得将上述内容用于商业或非法用途,否则后果请用户自负。
本站资源来自网络收集,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
如果您喜欢该程序,请支持正版软件,得到更好的正版服务。
本文链接:https://www.abnma.com/11373.html,转载请注明出处。
如有侵权,请邮件联系我们删除处理。

0
搬码资源网广告位

评论0

请先

没有账号? 注册  忘记密码?