PHPCMS的使用小结

 更新时间:2010年09月20日 01:04:19   作者:  
前段时间仔细看了一下PHPCMS这套开源的系统,实现了程序与模板分离,觉得写得真的不错。本人很少关注开源系统,尤其是PHP的,觉得PHP本身就是一个宠大的函数库,不过几千个系统函数确实解决了不少问题。
下面我讲讲关于这套系统的加载流程

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


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

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

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

相关文章

  • PHP多文件上传类实例

    PHP多文件上传类实例

    这篇文章主要介绍了PHP多文件上传类,实例分析了php实现多文件上传的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP Laravel门面的实现原理详解

    PHP Laravel门面的实现原理详解

    在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口,使得我们可以不用new这些类出来,就可以直接通过静态接口调用这些类中的方法。本文就来详细聊聊Laravel门面的实现原理,希望对大家有所帮助
    2023-02-02
  • PHP封装的mysqli数据库操作类示例

    PHP封装的mysqli数据库操作类示例

    这篇文章主要介绍了PHP封装的mysqli数据库操作类,涉及php针对mysqli数据库的连接、增删改查、分页、排序等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • PHP单例模式Singleton Pattern的原理与实现介绍

    PHP单例模式Singleton Pattern的原理与实现介绍

    单例就是单实例的意思,即在系统全局,一个类只创建一个对象,并且在系统全局都可以访问这个对象而不用重新创建。本文将通过示例为大家详细讲解Java单例模式的使用,需要的可以参考一下
    2023-03-03
  • php使用preg_match()函数验证ip地址的方法

    php使用preg_match()函数验证ip地址的方法

    这篇文章主要介绍了php使用preg_match()函数验证ip地址的方法,涉及php针对数字及字符串的正则匹配操作相关技巧,需要的朋友可以参考下
    2017-01-01
  • PHP开发实现快递查询功能详解

    PHP开发实现快递查询功能详解

    这篇文章主要介绍了PHP开发实现快递查询功能,结合实例形式分析了php使用快递鸟查询接口进行快递查询的相关实现步骤与操作技巧,需要的朋友可以参考下
    2019-04-04
  • php获取远程文件的内容和大小

    php获取远程文件的内容和大小

    这篇文章主要介绍了php获取远程文件的内容和大小函数代码,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • php实现水印文字和缩略图的方法示例

    php实现水印文字和缩略图的方法示例

    这篇文章主要介绍了php实现水印文字和缩略图的方法,结合完整实例形式分析了php实现水印文字添加与缩略图生成的相关步骤及操作技巧,需要的朋友可以参考下
    2016-12-12
  • 实例讲解如何在PHP的Yii框架中进行错误和异常处理

    实例讲解如何在PHP的Yii框架中进行错误和异常处理

    这篇文章主要介绍了如何在PHP的Yii框架中进行错误和异常处理的实例,重点讲解了使用错误处理器的方法,需要的朋友可以参考下
    2016-03-03
  • php实现微信模拟登陆、获取用户列表及群发消息功能示例

    php实现微信模拟登陆、获取用户列表及群发消息功能示例

    这篇文章主要介绍了php实现微信模拟登陆、获取用户列表及群发消息功能,结合具体实例形式分析了php微信接口的相关调用与操作技巧,需要的朋友可以参考下
    2017-06-06

最新评论