您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMS后台框架实现思路介绍
忆香2025-05-22 12:08:44phpcms教程已有6人查阅
导读1.打开后台入口文件admin.php跳转到index.php并且m=admin定义了根目录,包含了框架的入口文件base.php,并且使用类静态方法creat_app()
1.打开后台入口文件admin.php
2.打开index.php 定义了根目录,包含了框架的入口文件base.php,并且使用类静态方法creat_app()
3.打开框架入口文件base.php ①定义各后期可能用到的常量
②创建了pc_base类,加载类并且实例化和
③加载基本框架需要的函数库
④定义creat_app() 包含application且实例化
4.打开框架类库文件下的application.class.php文件
执行构造函数
加载param路由类,使用路由类中的$param->route_m(),$param->route_c(),$param->route_a()获取模块和控制器以及方法,route_m为模块,在modules文件下,然后是控制器和方法,标准的mvc结构
然后执行int函数
执行load_controller加载获取到的控制器并且实例化!
5.打开index.php?m=admin&a=index&c=login登录页面 判断是否从框架入口文件进入,然后加载admin模块下的admin类文件 然后使用构造方法加载使用到的模型文件(MVC中的M),然后看父类的构造方法
6.打开框架类文件admin.class.php
这个类文件,这个模块中的较高级类,做了很多判断操作,以及本模块一些必须的东西(加载模板)
7.然后让我们看admin_model.class.php类 admin_model extends model继承model然后使用了一些方法 包含了数据库操作封装,然后数据库的连接,大致思路就是如此
phpcms v9框架的目录结构分析
(2013-09-03 10:24:25)
转载▼
phpcms v9框架的目录结构分析:
了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识
打开"mycms"项目,有如下文件和目录
使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除
|-----api接口文件目录
|-----caches 缓存文件目录
|-----configs 系统配置文件目录
|-----database.php数据库配置文件
|-----route.php 路由配置文件
|-----system.php系统配置文件
|-----cache.php 缓存配置文件
|-----configs_* 系统缓存文件目录
|-----configs_commons/caches_data 主要用来存放后台设置的配置信息
|-----category_content.cache.php栏目与站点映射所对应的配置文件
|-----category_content_1.cache.php站点1下所有栏目的详细配置信息
|-----category_item_1.cache.php 文章模型下各栏目所对应的数据量
|-----category_item_2.cache.php 下载模型下各栏目所对应的数据量
|-----category_item_3.cache.php 图片模型下各栏目所对应的数据量
|-----keylink.cache.php 关联链接配置缓存文件
|-----model.cache.php 三大模型配置缓存文件
|-----mood_program.cache.php表情配置缓存文件
|-----position.cache.php推荐位配置缓存文件
|-----poster_template_1.cache.php广告位模板配置缓存文件
|-----sitelist.cache.php站点列表配置文件,主要缓存所有站点的基本配置信息
|-----type_content.cache.php多个站点下的类别配置信息
|-----type_content_1.cache.php当前站点下类别配置信息缓存文件
|-----urlrules.cache.phpurl规则配置信息缓存文件
|-----urlrules_detail.cache.php url规则详细配置信息缓存文件
|-----special.cache.php 专题配置信息缓存文件
|-----role.cache.php角色配置缓存文件
|-----link.cache.php友情链接缓存文件
|-----configs_model/caches_data
|-----content_form.class.php生成表单的类库缓存文件
|-----content_input.class.php 入库时,对表单数据进行验证的类库缓存文件
|-----content_output.class.php对从数据表中查询出来的数据进行处理的函数
|-----content_update.class.php对要更新的数据进行有效性验证的函数
|-----model_field_1.cache.php 文章模型所有模型字段的缓存信息
|-----model_field_2.cache.php 下载模型所有模型字段的缓存信息
|-----model_field_3.cache.php 图片模型所有模型字段的缓存信息
|-----phpcmsphpcms框架主目录
|-----languages框架语言包目录
|-----libs 框架主类库、主函数库目录
|-----classes
|-----form.class.php表单生成类库文件
|-----application.class.php 应用程序类库文件
|-----image.class.php 图片处理类库文件
|-----attachment.class.php附件处理类库文件
|-----param.class.php URL参数处理类库文件
|-----functions
|-----global.func.php 公共函数库文件
|-----extension.class.php 扩展函数库文件
|-----model框架数据库模型目录
|-----content_model.class.php 内容模型文件
|-----admin_model.class.php 管理员模型文件
|-----attachment_model.class.php附件模型文件
|-----modules框架模块目录
|-----admin admin模块
|-----index.php index.php控制器文件
|-----content content模块
|-----classes content模块通用类库
|-----fieldscontent模块模型字段
|-----functions content模块通用函数库
|-----templates content模块后台模板文件
|-----index.php index.php控制器文件
|-----templates框架系统前台模板目录
|-----default 默认的模板风格
|-----content content模块模板目录
|-----category.html 频道页模板文件
|-----list.html 列表页模板文件
|-----show.html 内容页模板文件
|-----config.php模板配置文件
|-----phpsso_server phpsso主目录
|-----statics 网站素材文件目录
|-----css css文件
|-----imagesimages文件
|-----jsjs文件
|-----uploadfile上传附件
|-----admin.php 后台入口文件
|-----index.php 前台入口文件
phpcms v9中的url路由规则:
浏览器中输入... ;a=list&catid=1回车时,默认情况下会找到
phpcms框架主目录
|-----modules 模块目录
|-----content content模块
|-----index.php index.php控制器中list方法来显示列表页面
到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料
我们可以将浏览器中的url归纳如下:
http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值
当我们在浏览器中输入 后面没有跟任何参数, 回车时,默认情下会将首页显示出来
这是因为phpcms v9为我们指定了一个默认执行的模块、控制器和方法
默认控制器的设置在 "caches/configs/routes.php" 配置文件中进行设置的,我们可以重新设置默认的控制器
六、栏目的添加
1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容
详情页:文章信息类的内容 文章模型
详情页:图片类信息图片模型
详情页:下载东西 下载模型
详情页:播放视频 视频模型
2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的
3、栏目添加选项:
栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件
4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:
频道页模板文件
列表页模板文件
内容页模板文件
这些模板文件所在位置:phpcms/templates/default/content/ 目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了
频道页:category_*.html
列表页:list_*.html
内容页:show_*.html
至此,栏目各页面与模型的三个模板文件对应起来了
注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)
5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获取来的
七、项目的部署:
1、素材文件:
statics
|-----images
|-----cmsimages 项目图片文件
|-----js
|-----cmsjs 项目js文件
|-----css
|-----cmscss项目css文件
phpcms
|-----templates
|-----new 新的模板风格
|-----content 内容模块模板文件
|-----category.html 频道页模板文件
|-----list.html 列表页模板文件
|-----show.html 内容页模板文件
|-----config.php添加模板文件的配置
或者
|-----default
|-----content 内容模块模板文件
|-----category_shetu.html 频道页模板文件
|-----list_shetu.html 列表页模板文件
|-----show_shetu.html 内容页模板文件
|-----config.php配置新添加的模板文件
注意:模板文件的命名规范
2、进入后台,将栏目与模板文件对应起来
3、常量的定义:phpcms/base.php文件
4、系统类库、函数库、模型文件及配置文件的加载
pc_base::load_sys_class();//加载系统类库
pc_base::load_sys_func();//加载系统函数库
pc_base::load_model();//加载模型
pc_base::load_config();//加载配置文件或配置选项信息
pc_base::load_app_func();//加载应用程序函数库
pc_base::load_app_class();//加载应用程序类库
全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用
5、模板语法:
(1)常量表示:
{JS_PATH}//相当于 或者
跳转到index.php并且m=admin2.打开index.php 定义了根目录,包含了框架的入口文件base.php,并且使用类静态方法creat_app()
3.打开框架入口文件base.php ①定义各后期可能用到的常量
②创建了pc_base类,加载类并且实例化和
③加载基本框架需要的函数库
④定义creat_app() 包含application且实例化
4.打开框架类库文件下的application.class.php文件
执行构造函数
加载param路由类,使用路由类中的$param->route_m(),$param->route_c(),$param->route_a()获取模块和控制器以及方法,route_m为模块,在modules文件下,然后是控制器和方法,标准的mvc结构
然后执行int函数
执行load_controller加载获取到的控制器并且实例化!
5.打开index.php?m=admin&a=index&c=login登录页面 判断是否从框架入口文件进入,然后加载admin模块下的admin类文件 然后使用构造方法加载使用到的模型文件(MVC中的M),然后看父类的构造方法
6.打开框架类文件admin.class.php
这个类文件,这个模块中的较高级类,做了很多判断操作,以及本模块一些必须的东西(加载模板)
7.然后让我们看admin_model.class.php类 admin_model extends model继承model然后使用了一些方法 包含了数据库操作封装,然后数据库的连接,大致思路就是如此
phpcms v9框架的目录结构分析
(2013-09-03 10:24:25)
转载▼
phpcms v9框架的目录结构分析:
了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识
打开"mycms"项目,有如下文件和目录
使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除
|-----api接口文件目录
|-----caches 缓存文件目录
|-----configs 系统配置文件目录
|-----database.php数据库配置文件
|-----route.php 路由配置文件
|-----system.php系统配置文件
|-----cache.php 缓存配置文件
|-----configs_* 系统缓存文件目录
|-----configs_commons/caches_data 主要用来存放后台设置的配置信息
|-----category_content.cache.php栏目与站点映射所对应的配置文件
|-----category_content_1.cache.php站点1下所有栏目的详细配置信息
|-----category_item_1.cache.php 文章模型下各栏目所对应的数据量
|-----category_item_2.cache.php 下载模型下各栏目所对应的数据量
|-----category_item_3.cache.php 图片模型下各栏目所对应的数据量
|-----keylink.cache.php 关联链接配置缓存文件
|-----model.cache.php 三大模型配置缓存文件
|-----mood_program.cache.php表情配置缓存文件
|-----position.cache.php推荐位配置缓存文件
|-----poster_template_1.cache.php广告位模板配置缓存文件
|-----sitelist.cache.php站点列表配置文件,主要缓存所有站点的基本配置信息
|-----type_content.cache.php多个站点下的类别配置信息
|-----type_content_1.cache.php当前站点下类别配置信息缓存文件
|-----urlrules.cache.phpurl规则配置信息缓存文件
|-----urlrules_detail.cache.php url规则详细配置信息缓存文件
|-----special.cache.php 专题配置信息缓存文件
|-----role.cache.php角色配置缓存文件
|-----link.cache.php友情链接缓存文件
|-----configs_model/caches_data
|-----content_form.class.php生成表单的类库缓存文件
|-----content_input.class.php 入库时,对表单数据进行验证的类库缓存文件
|-----content_output.class.php对从数据表中查询出来的数据进行处理的函数
|-----content_update.class.php对要更新的数据进行有效性验证的函数
|-----model_field_1.cache.php 文章模型所有模型字段的缓存信息
|-----model_field_2.cache.php 下载模型所有模型字段的缓存信息
|-----model_field_3.cache.php 图片模型所有模型字段的缓存信息
|-----phpcmsphpcms框架主目录
|-----languages框架语言包目录
|-----libs 框架主类库、主函数库目录
|-----classes
|-----form.class.php表单生成类库文件
|-----application.class.php 应用程序类库文件
|-----image.class.php 图片处理类库文件
|-----attachment.class.php附件处理类库文件
|-----param.class.php URL参数处理类库文件
|-----functions
|-----global.func.php 公共函数库文件
|-----extension.class.php 扩展函数库文件
|-----model框架数据库模型目录
|-----content_model.class.php 内容模型文件
|-----admin_model.class.php 管理员模型文件
|-----attachment_model.class.php附件模型文件
|-----modules框架模块目录
|-----admin admin模块
|-----index.php index.php控制器文件
|-----content content模块
|-----classes content模块通用类库
|-----fieldscontent模块模型字段
|-----functions content模块通用函数库
|-----templates content模块后台模板文件
|-----index.php index.php控制器文件
|-----templates框架系统前台模板目录
|-----default 默认的模板风格
|-----content content模块模板目录
|-----category.html 频道页模板文件
|-----list.html 列表页模板文件
|-----show.html 内容页模板文件
|-----config.php模板配置文件
|-----phpsso_server phpsso主目录
|-----statics 网站素材文件目录
|-----css css文件
|-----imagesimages文件
|-----jsjs文件
|-----uploadfile上传附件
|-----admin.php 后台入口文件
|-----index.php 前台入口文件
phpcms v9中的url路由规则:
浏览器中输入... ;a=list&catid=1回车时,默认情况下会找到
phpcms框架主目录
|-----modules 模块目录
|-----content content模块
|-----index.php index.php控制器中list方法来显示列表页面
到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料
我们可以将浏览器中的url归纳如下:
http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值
当我们在浏览器中输入 后面没有跟任何参数, 回车时,默认情下会将首页显示出来
这是因为phpcms v9为我们指定了一个默认执行的模块、控制器和方法
默认控制器的设置在 "caches/configs/routes.php" 配置文件中进行设置的,我们可以重新设置默认的控制器
六、栏目的添加
1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容
详情页:文章信息类的内容 文章模型
详情页:图片类信息图片模型
详情页:下载东西 下载模型
详情页:播放视频 视频模型
2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的
3、栏目添加选项:
栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件
4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:
频道页模板文件
列表页模板文件
内容页模板文件
这些模板文件所在位置:phpcms/templates/default/content/ 目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了
频道页:category_*.html
列表页:list_*.html
内容页:show_*.html
至此,栏目各页面与模型的三个模板文件对应起来了
注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)
5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获取来的
七、项目的部署:
1、素材文件:
statics
|-----images
|-----cmsimages 项目图片文件
|-----js
|-----cmsjs 项目js文件
|-----css
|-----cmscss项目css文件
phpcms
|-----templates
|-----new 新的模板风格
|-----content 内容模块模板文件
|-----category.html 频道页模板文件
|-----list.html 列表页模板文件
|-----show.html 内容页模板文件
|-----config.php添加模板文件的配置
或者
|-----default
|-----content 内容模块模板文件
|-----category_shetu.html 频道页模板文件
|-----list_shetu.html 列表页模板文件
|-----show_shetu.html 内容页模板文件
|-----config.php配置新添加的模板文件
注意:模板文件的命名规范
2、进入后台,将栏目与模板文件对应起来
3、常量的定义:phpcms/base.php文件
4、系统类库、函数库、模型文件及配置文件的加载
pc_base::load_sys_class();//加载系统类库
pc_base::load_sys_func();//加载系统函数库
pc_base::load_model();//加载模型
pc_base::load_config();//加载配置文件或配置选项信息
pc_base::load_app_func();//加载应用程序函数库
pc_base::load_app_class();//加载应用程序类库
全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用
5、模板语法:
(1)常量表示:
{JS_PATH}//相当于 或者
本文标签:
很赞哦! (0)
下一篇:PHPCMS二次开发方法介绍
暂无内容 |
暂无内容 |
相关文章
暂无内容 |
暂无内容 |
随机图文
phpcms新建模型的步骤方法
phpcms 怎么新建模型?登录PHPCMS后台,选择管理内容(顶部导航)--模型管理(左侧导航最下面)选择添加模型,弹出窗口,按照你的需求填写,这里我写测试模型,点击确定保存PHPCMSv9.6.0wap模块SQL注入漏洞修复方法
调试这个漏洞的时候踩了个坑,影响的版本是php5.4以后。由于漏洞是由parse_str()函数引起的,但是这个函数在gpc开启的时候(也就是php5.4以下)会对单引号进行过滤\' 。PHPCMS搬家的方法教程
首先打开“caches/configs/database.php”;然后修改里边配置信息;接着也将“phpsso_server/cache/configs/database.php”也进行修改;phpcms网页无法访问的解决方法
phpcms网页无法访问的解决办法:首先修改“/caches/configs/system.php”里面所有和域名有关的;然后对相应的站点的域名进行修改;接着更新系统缓存
留言与评论 (共有 0 条评论) |