您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMS V9文件目录结构开发介绍
易烟2025-05-21phpcms教程已有人查阅
导读PHPCMS V9 文件目录结构:根目录| - api 接口文件目录| - caches 缓存文件目录| - configs 系统配置文件目录| - caches_* 系统缓存目录
PHPCMS V9 文件目录结构:
根目录
| - api 接口文件目录
| - caches 缓存文件目录
| - configs 系统配置文件目录
| - caches_* 系统缓存目录
| - phpcms phpcms框架主目录
| - languages 框架语言包目录
| - libs 框架主类库、主函数库目录
| - model 框架数据库模型目录
| - modules 框架模块目录
| - templates 框架系统模板目录
| - phpsso_server phpsso主目录
| - statics 系统附件包
| - css 系统css包
| - images 系统图片包
| - js 系统js包
| - uploadfile 网站附件目录
| - admin.php 后台管理入口
| - index.php 程序主入口
| - crossdomain.xml FLASH跨域传输文件
| - robots.txt 搜索引擎蜘蛛限制配置文件
| - favicon.ico 系统icon图标
2.url访问
参数名称 描述 位置 备注
m 模型/模块名称 phpcms/modules中模块目录名称 必须
c 控制器名称 phpcms/modules/模块/*.php 文件名称 必须
a 事件名称 phpcms/modules/模块/*.php 中方法名称
eg:http://yourdomain.com/index.php?m=content&c=index&a=show&id=1
m = content 为模型/模块名称 位于phpcms/modules/content
c = index 为控制器名称 位于phpcms/modules/content/index.php
a = show 为时间名称 位于phpcms/modules/content/index.php 中show()方法
id = 1 为其他参数 与正常get传递参数形式相同
如果我们访问您的域名 如:http:// .yourdomain.com/index.php
phpcms默认路由会定位到content模块的index控制器中的init操作,因为系统在没有指定模块和控制器的时候,会执行默认的模块和操作。因此下面的URL的结果是相同的:
系统还支持URL路由的功能,这些都能够带来其他的url访问效果 http:// .yourdomain.com/index.php?m=content&c=index&a=init 一样效果
3.系统类库与函数库调用
1.系统类库位于系统的phpcms/libs/classes目录下面,函数库文件名为*.class.php,其中global.func.php为框架中默认加载,global.func.php中函数可直接使用
2.系统函数库位于系统的phpcms/libs/functions目录下面,函数库文件名为*.func.php
系统类库调用:
类文件需要以.class.php为后缀(这里是指的phpcms的系统类库文件和模块中的类库文件,第三方引入的不做要求),例如http.class.php。
函数文件需要以.func.php为后缀(第三方引入的不做要求),例如mail.func.php。
类名和文件名一致,例如 phpcmsapp类的文件命名是phpcmsapp.class.php。
数据模型需要以“数据表名称_model.class.php”为形式,类名称与文件名必须相同。
4.配置文件调用:
配置文件配置在caches/configs/目录下。
配置文件调用:使用 load_config方法
1.如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过"MY_*.php"的形式进行二次开发。
例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"
MY_index.php代码如下
配置:
1.数据库配置:
数据库配置文件位置:caches/configs/database.php
我们打开这个配置文件,加入我们的数据库配置信息。数据库配置信息为二维数组结构,默认为default,可以根据default结构配置多个数据库链接(如:extended_1)
2.路由配置
路由配置文件位置:caches/configs/route.php
我们打开这个配置文件,加入我们的路由配置信息。路由配置信息为二维数组结构,默认为default。
3.系统配置
系统配置文件位置:caches/configs/system.php
在控制器中增加模板调用:
phpcms 可以实现完全的模板与程序分离,所以在我们的控制器程序中要加载模板,才可以更友好的显示出来。
1.加载前台模板
前台模板文件在phpcms\templates\default\模块名称 目录中,本示例也就在phpcms\templates\default\test中
加载模板方法如下:
2.加载后台模板
后台模板文件在phpcms\modules\模块名称\templates 目录中,本示例也就在phpcms\modules\test\templates 中 加载模板方法如下:
数据模型类:
数据库模型位于:phpcms/model/ 目录下。数据模型文件的命名规则建议为数据表称+'_model.class.php' 如果在我们的创建的模块中我要使用一个数据库“test”,首先需要建立一个数据库模型文件,文件名称为'test_model.class.php'
1.数据库模型类名称必须与文件名称相同;
2.$this->db_setting = 'default'为数据库配置文件中配置数据库链接池名称,默认为default,一般情况下不需要修改。
3.$this->table_name = 'test'为数据表名称
控制器中使用:
常用:
为你的phpcms创建一个模块的一般开发流程是:
创建数据库和数据表;(没有数据库操作可略过)
创建模块目录
创建模块控制器类;
创建模块类与模块函数;(如果只是简单的模块可以不必创建)
创建模板文件;
运行和调试。
根目录
| - api 接口文件目录
| - caches 缓存文件目录
| - configs 系统配置文件目录
| - caches_* 系统缓存目录
| - phpcms phpcms框架主目录
| - languages 框架语言包目录
| - libs 框架主类库、主函数库目录
| - model 框架数据库模型目录
| - modules 框架模块目录
| - templates 框架系统模板目录
| - phpsso_server phpsso主目录
| - statics 系统附件包
| - css 系统css包
| - images 系统图片包
| - js 系统js包
| - uploadfile 网站附件目录
| - admin.php 后台管理入口
| - index.php 程序主入口
| - crossdomain.xml FLASH跨域传输文件
| - robots.txt 搜索引擎蜘蛛限制配置文件
| - favicon.ico 系统icon图标
2.url访问
参数名称 描述 位置 备注
m 模型/模块名称 phpcms/modules中模块目录名称 必须
c 控制器名称 phpcms/modules/模块/*.php 文件名称 必须
a 事件名称 phpcms/modules/模块/*.php 中方法名称
eg:http://yourdomain.com/index.php?m=content&c=index&a=show&id=1
m = content 为模型/模块名称 位于phpcms/modules/content
c = index 为控制器名称 位于phpcms/modules/content/index.php
a = show 为时间名称 位于phpcms/modules/content/index.php 中show()方法
id = 1 为其他参数 与正常get传递参数形式相同
如果我们访问您的域名 如:http:// .yourdomain.com/index.php
phpcms默认路由会定位到content模块的index控制器中的init操作,因为系统在没有指定模块和控制器的时候,会执行默认的模块和操作。因此下面的URL的结果是相同的:
系统还支持URL路由的功能,这些都能够带来其他的url访问效果 http:// .yourdomain.com/index.php?m=content&c=index&a=init 一样效果
3.系统类库与函数库调用
1.系统类库位于系统的phpcms/libs/classes目录下面,函数库文件名为*.class.php,其中global.func.php为框架中默认加载,global.func.php中函数可直接使用
2.系统函数库位于系统的phpcms/libs/functions目录下面,函数库文件名为*.func.php
系统类库调用:
$http = pc_base::load_sys_class('http'); //实例化http类
pc_base::load_sys_class('format', '', 0); //调用form类,不进行实例化操作
系统函数库调用:
pc_base::load_sys_func('mail'); 调用mail函数包
PHPCMS命名规范:类文件需要以.class.php为后缀(这里是指的phpcms的系统类库文件和模块中的类库文件,第三方引入的不做要求),例如http.class.php。
函数文件需要以.func.php为后缀(第三方引入的不做要求),例如mail.func.php。
类名和文件名一致,例如 phpcmsapp类的文件命名是phpcmsapp.class.php。
数据模型需要以“数据表名称_model.class.php”为形式,类名称与文件名必须相同。
4.配置文件调用:
配置文件配置在caches/configs/目录下。
配置文件调用:使用 load_config方法
$upload_url = pc_base::load_config('system','upload_url');
5.二次开发小技巧:1.如果要对已存在的控制器进行二次开发,为了方便升级不建议直接对内核文件直接修改该,您可以通过"MY_*.php"的形式进行二次开发。
例如您要对改phpcms/mood/index.php进行二次开发。您可以在与index.php同级的目录下建立"MY_index.php"
MY_index.php代码如下
<?php
class MY_index extends index{
function __construct() {
parent::__construct();
}
……your code
}
?>
这样当您通过url访问index控制器的时候,系统会默认指向MY_index.php 并且原文件的方法将被继承,可以直接使用。(继承)配置:
1.数据库配置:
数据库配置文件位置:caches/configs/database.php
我们打开这个配置文件,加入我们的数据库配置信息。数据库配置信息为二维数组结构,默认为default,可以根据default结构配置多个数据库链接(如:extended_1)
2.路由配置
路由配置文件位置:caches/configs/route.php
我们打开这个配置文件,加入我们的路由配置信息。路由配置信息为二维数组结构,默认为default。
3.系统配置
系统配置文件位置:caches/configs/system.php
在控制器中增加模板调用:
phpcms 可以实现完全的模板与程序分离,所以在我们的控制器程序中要加载模板,才可以更友好的显示出来。
1.加载前台模板
前台模板文件在phpcms\templates\default\模块名称 目录中,本示例也就在phpcms\templates\default\test中
加载模板方法如下:
include template('test', 'mytest', 'default');
其中 test为模块名称 mytest 为模板目录下模板名称,default为风格名称,默认不填为de t2.加载后台模板
后台模板文件在phpcms\modules\模块名称\templates 目录中,本示例也就在phpcms\modules\test\templates 中 加载模板方法如下:
include $this->admin_tpl('mytest_admin_list');
其中mytest_admin_list为phpcms\modules\test\templates中mytest_admin_list.tpl.php,注意:此处模板必须以.tpl.php 作为后缀数据模型类:
数据库模型位于:phpcms/model/ 目录下。数据模型文件的命名规则建议为数据表称+'_model.class.php' 如果在我们的创建的模块中我要使用一个数据库“test”,首先需要建立一个数据库模型文件,文件名称为'test_model.class.php'
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_sys_class('model', '', 0);
class test_model extends model {
public function __construct() {
$this->db_config = pc_base::load_config('database');
$this->db_setting = 'default';
$this->table_name = 'test';
parent::__construct();
}
}
?>
注意:1.数据库模型类名称必须与文件名称相同;
2.$this->db_setting = 'default'为数据库配置文件中配置数据库链接池名称,默认为default,一般情况下不需要修改。
3.$this->table_name = 'test'为数据表名称
控制器中使用:
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
class mytest {
private $db;
function __construct() {
$this->db = pc_base::load_model('test_model');
}
public function init() {
$result = $this->db->select();
var_dump($result);
}
}
?>
模板标签使用:常用:
{pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$page" dbsource="discuz" return="data"}
<ul>
{loop $data $key $val}
{$val[username]}<br />
{/loop}
</ul>
{$pages}
{/pc}
开发流程为你的phpcms创建一个模块的一般开发流程是:
创建数据库和数据表;(没有数据库操作可略过)
创建模块目录
创建模块控制器类;
创建模块类与模块函数;(如果只是简单的模块可以不必创建)
创建模板文件;
运行和调试。
本文标签:
很赞哦! ()
上一篇:PHPCMSv9语法和结构分析
下一篇:phpcms缓存cookie分析
相关教程
图文教程
PHPCMS搬家的方法教程
首先打开“caches/configs/database.php”;然后修改里边配置信息;接着也将“phpsso_server/cache/configs/database.php”也进行修改;
PHPCMS修改后台路径的实现方法
之前在网上找了很多关于修改phpcms后台路径的修改方法,但是都太繁琐(个人感觉),终于找到了一个相对简单的修改方法,在这里和大家分享一下,希望互相学习。
PHPCMSV9.6.0SQL注入漏洞分析修复方法示例
0x01此SQL注入漏洞与metinfo v6.2.0版本以下SQL盲注漏洞个人认为较为相似。且较为有趣,故在此分析并附上exp。
phpcmsv9不能上传图片的几种解决方法
PHPCMSV9编辑器上传不了图片呢,我一查看它用的是二级域名了,这样可能是导致不能上传图片的原因,下面来分析一下原因
相关源码
-
帝国cms7.5品牌连锁店招商加盟商机网站模版源码本模板为招商加盟、创业投资、品牌连锁等商业领域设计,采用帝国CMS7.5内核构建,整体风格简洁大气,突出商业信任感与专业度,适合各类招商加盟项目展示、品牌连锁店宣传等商业应用场景。查看源码 -
(自适应)变压器电子元器件电器配件pbootcms网站模板源码为电子元器件企业打造的响应式网站模板,基于PbootCMS内核开发,助力企业快速构建专业级线上展示平台。支持页面独立设置标题、关键词和描述,内置SEO友好结构。PHP程序确保运行安全稳定,有助于提升搜索引擎收录效果。查看源码 -
(自适应响应式)黑色LED显示屏户外广告屏网站源码下载这是一款基于PbootCMS内核开发的响应式网站模板,专门为LED显示屏及户外广告行业打造。模板适配各类显示设备,帮助企业快速搭建专业官网,展示产品与服务优势,有效提升品牌形象。查看源码 -
(自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码 -
响应式电脑维修办公用品维护pbootcms网站模板模板介绍(自适应手机版)响应式电脑修理公司pbootcms网站模板-蓝色HTML5电脑修理维修店网站源码下载PbootCMS内核开发的营销型网站模板,该模查看源码 -
自适应手机版五金机械阀门设备通用行业网站模板该PbootCMS内核开发的网站模板适用于阀门设备、五金机械类企业,通过更换文字图片也可快速适配其他工业领域。采用响应式设计,确保PC端与手机端数据同步,操作便捷,并附带测试数据。查看源码
| 分享笔记 (共有 篇笔记) |
