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 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
php 不同编码下的字符串长度区分
Sep 26 PHP
php中将字符串转为HTML的实体引用的一个类
Feb 03 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
PHP swoole和redis异步任务实现方法分析
Aug 12 PHP
如何在PHP环境中使用ProtoBuf数据格式
Jun 19 PHP
php实现简单四则运算器
Nov 29 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投票系统防刷票判断流程分析
2012/02/04 PHP
php判断是否为json格式的方法
2014/03/04 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
js相册效果代码(点击创建即可)
2013/04/16 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
vue+openlayers绘制省市边界线
2020/12/24 Vue.js
python的urllib模块显示下载进度示例
2014/01/17 Python
python正则表达式re模块详解
2014/06/25 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python绘制直线的方法
2018/06/30 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
pytorch梯度剪裁方式
2020/02/04 Python
Parfumdreams英国:香水和化妆品
2019/05/10 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
借款担保书范文
2014/05/13 职场文书
校园环保标语
2014/06/13 职场文书
2014年商场工作总结
2014/11/22 职场文书
副总经理岗位职责
2015/02/02 职场文书
绿里奇迹观后感
2015/06/15 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
SQL Server中搜索特定的对象
2022/05/25 SQL Server