PHPCMS的使用小结


Posted in PHP onSeptember 20, 2010

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

定义根目录,定义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 MsSql server时遇到的中文编码问题
Jun 11 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
PHP正则表达式之定界符和原子介绍
Oct 05 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
php读取3389的脚本
May 06 PHP
php session的锁和并发
Jan 22 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 #PHP
zen cart新进商品的随机排序修改方法
Sep 10 #PHP
php表单转换textarea换行符的方法
Sep 10 #PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 #PHP
php下使用curl模拟用户登陆的代码
Sep 10 #PHP
PHP获取表单textarea数据中的换行问题
Sep 10 #PHP
php header示例代码(推荐)
Sep 08 #PHP
You might like
php实现单链表的实例代码
2013/03/22 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
javascript下有关dom以及xml节点访问兼容问题
2007/11/26 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
理解JS事件循环
2016/01/07 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
Node.js连接Sql Server 2008及数据层封装详解
2018/08/27 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
python程序 创建多线程过程详解
2019/09/23 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
局部内部类是否可以访问非final变量?
2013/04/20 面试题
汽修专业学生自我鉴定
2013/11/16 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers
Nginx实现负载均衡的项目实践
2022/03/18 Servers