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中使用与Perl兼容的正则表达式
Nov 26 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
php知道与问问的采集插件代码
Oct 12 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
php使用文本统计访问量的方法
May 12 PHP
ThinkPHP 模板substr的截取字符串函数详解
Jan 09 PHP
PHP实现的redis主从数据库状态检测功能示例
Jul 20 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 PHP
通过PHP实现获取访问用户IP
May 09 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缩略图等比例无损压缩,可填充空白区域补充色
2011/06/10 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
vue2笔记 — vue-router路由懒加载的实现
2017/03/03 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
打包发布Python模块的方法详解
2016/09/18 Python
python实现自动解数独小程序
2019/01/21 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
美国渔具店:FishUSA
2019/08/07 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
程序集与命名空间有什么不同
2014/07/25 面试题
如果重写了对象的equals()方法,需要考虑什么
2014/11/02 面试题
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
学生喝酒检讨书
2014/02/06 职场文书
就业协议书的作用
2014/04/11 职场文书
医学求职自荐信
2014/06/21 职场文书
协会周年庆活动方案
2014/08/26 职场文书
python随机打印成绩排名表
2021/06/23 Python
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python