Discuz CSS布局 缓存处理(1)

   今天在思考如何把css布局能够融合到Discuz整个体系里,而不仅仅单独对一个xhtml文件处理,这下就复杂了,需要理解Disucz后台管理程序,我仔细研究了论坛管理的界面风格里的参数更改,然后在前端页面是如何显示的,主要分两部,第一先

更新数据库,第二更新本地缓存!

 后台流程控:DZ后台所有的功能,均需要注册到admincp.php文件,每个功能都至少有一个或一个以上的Action(动作),在admincp.php中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为action.inc.php(*.inc.php),并存放在admin目录下,如执行:admincp.php?action=styles,相当于执行admin目录下的styles.inc.php文件

在最后

 //此方法更新style_$export.css和style_$export.php
   updatecache('styles');
require_once DISCUZ_ROOT.'./include/cache.func.php'; 中已经声明
function updatecache($cachename = '') 这个函数如果仔细看会有点复杂
,这里包括了所有需要缓存的SQL语句。

 //CURSCRIPT是常量,在每个需要缓存程序的开始,比如post.php文件中的
//的define('CURSCRIPT','post'); CURSCRIPT作为一个当前脚本的标记
//根据这个常量读取相应的脚本的缓存
if(in_array(CURSCRIPT, array('index', 'forumdisplay', 'viewthread', 'post', 'blog', 'topicadmin', 'register', 'archiver'))) {
 echo("脚本");
 echo('./forumdata/cache/cache_'.CURSCRIPT.'.php'."$$$$");
 $cachelost .= (@include DISCUZ_ROOT.'./forumdata/cache/cache_'.CURSCRIPT.'.php') ? '' : ' '.CURSCRIPT;
}
//看看是不是index,forumdisplay,viewthread这些文件是不是缓存了,有的话把它装到$cachelost这个变量中。

用的时候直接调用,这样对整个程序的速度来说就会明显提高。这
些缓存都在forumdata/cache中,打开可以看到都是.php文件,缓存文件里就一个变量
或者一个数组,为了读取速度快,在discuz中直接include他们之后,变量就可以直接使用,当然如果cache目录被黑客修改也没办法,不过当缓存文件重新生成的时候,任
何修改都会消失。

你可能感兴趣的:(sql,PHP,css,cache,脚本)