• 小结PHPCMS


      

      前段时间仔细看了一下PHPCMS这套开源的系统,实现了程序与模板分离,觉得写得真的不错。本人很少关注开源系统,尤其是PHP的,觉得PHP本身就是一个宠大的函数库,不过几千个系统函数确实解决了不少问题。

      下面我讲讲关于这套系统的加载流程

    1. 定义根目录,定义include目录
    2. 加载核心文件
      1. 配置文件'config.inc.php'
      2. 全局函数'global.func.php'
      3. 目录操作函数'dir.func.php'
      4. url相关函数'url.func.php'
      5. 数据输出相关类'output.class.php'
      6. 权限类'priv_group.class.php'
      7. 时间处理类'times.class.php'
      8. 加载语言数组'phpcms.lang.php'
      9. 加载数库存类'db_mysql.class.php'
    3. 定义常量,大部分我们常用的信息如IP,HTTP_REFERER,SCRIPT_NAME...一律用常量
    4. 获得变量,从$_POST,$_GET,$_COOKIE,-> extract
    5. 读取CACHE,cache_read函数大部分都是读取的一些数组文件,然后extract (extract每个数组都别忘了unset)
    6. 获得当前$mod,默认是PHPCMS
    7. 判断用户是否登录
    8. 读取会员组权限
    9. 读取模板文件,通过template函数
      1. 首先会读取根据参数生成cache模板php文件
      2. 判断是否存在该文件并且该文件 TPL_ROOT.TPL_NAME.'/'.$module.'/'.$template.'.html'生成日期是否等于TPL_CACHEPATH.$module.'_'.$template.'.tpl.php',否则重新编译和生成tpl文件
      3. 读取tpl文件

      这套CMS的优点在于程序与模板分离,将常用的数据通过以数组形式存取在文件上面,提升了很高的性能,不用每次都从数据库来读取,然后就是template,通过自带的语法函数编译后存取为tpl增加了模板的灵活性,美工不用懂得PHP语法,也能灵活的写布局;里面自带的TAG功能也不错。

      缺点在于,一次性加载了太多的不需的文件在内存中,尤其是都是以变量和数组形式,不管是否用得着。

      亮点在于,可以很方便生成HTML,弥补了缺点,总体来说架构和思路相当不错,值得学习和二次开发!

  • 相关阅读:
    【NOIP2007】守望者的逃离
    20200321(ABC)题解 by 马鸿儒 孙晨曦
    20200320(ABC)题解 by 王一帆
    20200319(ABC)题解 by 王一帆 梁延杰 丁智辰
    20200314(ABC)题解 by 董国梁 蒋丽君 章思航
    20200309(ABC)题解 by 梁延杰
    20200307(DEF)题解 by 孙晨曦
    20200306(ABC)题解 by 孙晨曦
    20200305(DEF)题解 by 孙晨曦
    20200303(ABC)题解 by 王锐,董国梁
  • 原文地址:https://www.cnblogs.com/hubj/p/1831111.html
Copyright © 2020-2023  润新知