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实现的MySQL数据浏览器
Mar 11 PHP
PHP版国家代码、缩写查询函数代码
Aug 14 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
php有效防止同一用户多次登录
Nov 19 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 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 多进程 解决难题
2009/06/22 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
简单常用的幻灯片播放实现代码
2013/09/25 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
python实现的简单猜数字游戏
2015/04/04 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
python实现按长宽比缩放图片
2018/06/07 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
python scipy卷积运算的实现方法
2019/09/16 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
如何用Python 加密文件
2020/09/10 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
浅析Python的命名空间与作用域
2020/11/25 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
应届护士推荐信
2013/11/16 职场文书
迟到检讨书400字
2014/01/13 职场文书
体育教师自我鉴定
2014/02/12 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
我的1919观后感
2015/06/03 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL