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制作图型计数器的例子
Oct 09 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
ecshop 批量上传(加入自定义属性)
Mar 20 PHP
PHP实现图片旋转效果实例代码
Oct 01 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
php日志函数error_log用法实例分析
Sep 23 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/01/06 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
javascript hashtable实现代码
2009/10/13 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
Vue中props的详解
2019/05/16 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
python编写的最短路径算法
2015/03/25 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
Java中compareTo和compare的区别
2016/04/12 面试题
工程测量与监理专业应届生求职信
2013/11/27 职场文书
大专会计自我鉴定
2014/02/06 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
农村文化活动总结
2014/08/28 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
海底两万里读书笔记
2015/06/26 职场文书
Redis分布式锁Redlock的实现
2021/08/07 Redis