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 开源框架22个简单简介
Aug 24 PHP
PHP 进程锁定问题分析研究
Nov 24 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
php数组转换js数组操作及json_encode的用法详解
Oct 26 PHP
php生成shtml类用法实例
Dec 09 PHP
php将字符串转换成16进制的方法
Mar 17 PHP
php两种无限分类方法实例
Apr 21 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP版单点登陆实现方案的实例
Nov 17 PHP
PHP html_entity_decode()函数讲解
Feb 25 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语言认识上需要避免的10大误区
2014/06/12 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python实现矩阵乘法的方法
2015/06/28 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python中列表的切片与修改知识点总结
2019/07/23 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
中专生自荐信
2013/10/12 职场文书
法学毕业生自我鉴定
2013/11/08 职场文书
水利学院求职自荐书
2014/02/01 职场文书
出纳员的岗位职责
2014/02/22 职场文书
就职演讲稿范文
2014/05/19 职场文书
2014年教师工作总结
2014/11/10 职场文书
先进党支部事迹材料
2014/12/24 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis