zoukankan      html  css  js  c++  java
  • 小结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,弥补了缺点,总体来说架构和思路相当不错,值得学习和二次开发!

  • 相关阅读:
    一些javascript的常用方法(转载)
    php在线处理视频 (在线视频转码,取得视频信息)
    在JS中最常看到切最容易迷惑的语法(转)
    jquery ui resizable bug
    设计技巧
    超大记录量数据库设计
    相似度分析(转)
    linux vi 替换命令
    今天发现一个关于CSS的东东,解决了我很多疑问
    Http Handler 介绍
  • 原文地址:https://www.cnblogs.com/hubj/p/1831111.html
Copyright © 2011-2022 走看看