下面我讲讲关于这套系统的加载流程
定义根目录,定义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,弥补了缺点,总体来说架构和思路相当不错,值得学习和二次开发!
PHPCMS的使用小结
2019-11-10 12:19phpcms教程网 PHPCMS
前段时间仔细看了一下PHPCMS这套开源的系统,实现了程序与模板分离,觉得写得真的不错。本人很少关注开源系统,尤其是PHP的,觉得PHP本身就是一个宠大的函数库,不过几千个系统函数确实解决了不少问题。
延伸 · 阅读
- 2021-10-27phpcmsv9.0任意文件上传漏洞解析
- 2021-10-22linux服务器下PHPCMS v9 安全配置详解
- 2021-08-06织梦cms、帝国cms、PHPcms优缺点解析
- 2021-07-21phpcms实现验证码替换及phpcms实现全站搜索功能教
- 2021-06-02phpcms配置列表页以及获得文章发布时间
- 2021-04-19PHPCMS手机站伪静态设置详细教程
- PHPCMS
phpcms推荐位无法调用自定义字段的方法
这篇文章主要介绍了phpcms推荐位无法调用自定义字段的方法,需要的朋友可以参考下 ...
- PHPCMS
Phpcms V9 调用全站文章排行的解决方法
今天忙于修改网站界面,想在首页添加浏览排行功能,却发现Phpcms竟然不支持调用全站文章排行。下午仔细研究了Phpcms源码,终于找到解决办法 ...
- PHPCMS
PHPCMS v9过滤采集内容中CSS样式的实现方法
在PHPCMS v9采集内容的时候,由于采集规则的原因,可能会无法完全过滤采集目标的CSS样式,这样就会导致文章发布出来后排版错乱。本文教你在后台公共函...
- PHPCMS
PhpCms模块管理教程:全站搜索
如何设置PhpCms全站搜索,请看下面的教程...
- PHPCMS
如何给phpcms v9增加类似于phpcms 2008中的关键词表
本篇文章是对给phpcms v9增加类似于phpcms 2008中的关键词表的方法进行了详细的分析介绍,需要的朋友参考下 ...
- PHPCMS
phpcms如何使用水印功能
phpcms 水印 功能只有在添加标题图片的时候生成带水印的图片。 编辑器上传的图片不能增加水印和缩略图 添加水印功能: 1,首先查看服务器参数查看 图形...
- PHPCMS
phpcms更换服务器后前台后台无法登录的解决方法
有朋友说phpcms网站搬家、更换IP后,前台和后台都无法登录,应朋友要求,处理pc换ip后无法登录,经过一个小时的忙活,终于看到成效啦,下面我就分享下...
- PHPCMS
PHPCMS v9 安全设置、防范教程
这篇文章主要介绍了PHPCMS v9 安全设置、防范教程,需要的朋友可以参考下 ...