当前位置:无线网络首页 >> 软件开发 >> PHPCMS2008源码浅析
PHPCMS2008源码浅析 (6)
2009-07-21 16:39:54  作者:merlang  来源:数码人家整理  浏览次数:2207  文字大小:【】【】【

PHPCMS2008源码浅析之cache.func.php---cache_cache_module()函数讲解

function cache_module()
{
        //此函数的目的,是生成单独页的配置信息,把前面setting关于的一些网站基本信息,与 模块的信息组成一个新的数组,并写到 /dada/cache/module_xxx.php
        global $db;
        $data = array();
        $result = $db->query("SELECT `module`,`name`,`path`,`url`,`iscore`,`version`,`publishdate`,`installdate`,`updatedate`,`setting` FROM `".DB_PRE."module` WHERE `disabled`=0");
        while($r = $db->fetch_array($result))
        {
                if(!$r['path']) $r['path'] = $r['module'] == 'phpcms' ? '' : $r['module'].'/';
                if(!$r['url'])   //当url为空值时,给module值给它,从数据库来看,这两个值通常是一样子的
                {
                        $r['url'] = $r['module'] == 'phpcms' ? '' : $r['module'].'/';
                        $db->query("UPDATE `".DB_PRE."module` SET `url`='$r[url]' WHERE module='$r[module]' LIMIT 1");
                }

                if($r['setting'])
                {
                        $setting = $r['setting'];
                        eval("\$setting = $setting;");   //将setting重新给一个数据变量
                        unset($r['setting']);           //清空数组r里的setting变量,
                        if(is_array($setting)) $r = array_merge($r, $setting); 
                        //这一句要注意,把setting数组合并$r模块里的关于`module`,`name`,`path`,`url`,`iscore`,`version`,`publishdate`,`installdate`,`updatedate`信息,方便后面调用
        }
                cache_write('module_'.$r['module'].'.php', $r);   //生成 module_xxx.php,这里跑完这一句后,就生成了,最新的模块配置的信息,里面是最基础的数据并没有网站内容
        }
        $db->free_result($result);
}

0

顶一下

0

踩一下
[1] [2] [3] [4] [5] [6] [7] [8] [9]
数码人家 | 版权声明 | 关于我们 | 友情链接 | 联系我们 | 广告服务 | 七年级下册

  • Copyright©2003-2018, 数码人家-网园 All Rights Reserved. 远山投姿欢迎您!
    陕ICP备05016083号-2
  •