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中的日期处理方法集锦
Jan 02 PHP
PHP中cookies使用指南
Mar 16 PHP
php 删除记录实现代码
Mar 12 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
php权重计算方法代码分享
Jan 09 PHP
PHP根据两点间的经纬度计算距离
Oct 31 PHP
fckeditor上传文件按日期存放及重命名方法
May 22 PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
php下MYSQL limit的优化
2008/01/10 PHP
PHP中strtotime函数使用方法详解
2011/11/27 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python字典操作简明总结
2015/04/13 Python
Python计算已经过去多少个周末的方法
2015/07/25 Python
python使用opencv读取图片的实例
2017/08/17 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
Python 互换字典的键值对实例
2019/02/12 Python
详解python中@的用法
2019/03/27 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
python 如何快速复制序列
2020/09/07 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
Clarria化妆品官方网站:购买天然和有机化妆品系列
2018/04/08 全球购物
小学防溺水制度
2014/01/29 职场文书
初三班主任寄语大全
2014/04/04 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
总结python多进程multiprocessing的相关知识
2021/06/29 Python