您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
phpcms二次开发目录结构控制器类使用方法
凡柔2025-06-12phpcms教程已有人查阅
导读目录结构图如下:在phpcms的具体的modules目录下就是,具体的项目模块了。classes 为模块类库包functions 为模块函数库包templates 为模板包,这里通常放置含有权限控制的控
目录结构图如下:
在phpcms的具体的modules目录下就是,具体的项目模块了。
classes 为模块类库包
functions 为模块函数库包
templates 为模板包,这里通常放置含有权限控制的控制器模板,也就是后台模板。
前台模板放在phpcms/templates/default目录下
模板目录与控制器名称一致(或者自行考虑).
模块控制器类,放在模块目录下。命名的时候一般加上my开头,以此来表示这是二次开发所加入。
关于模块控制器类的创建:
两种类型:
一种:前台浏览 (不含权限控制)
二种:后台浏览 (含权限控制)
第一种控制器类的创建:
1.在模块目录下创建mytest.php文件
写入:
使用你的项目域名:
例如: .cms.com/index.php?m=test&c=mytest&a=mylist
m 代表的是module模块
c 代表的是controller控制器
a 代表的是具体控制器下的action 方法
第二种带有权限控制的控制器的创建:
1.创建文件:mytest_admin.php
在你的控制器具体的方法中使用:
include、require、include_once、require_once
栗子如下:
phpcms的相关配置在:
caches/configs目录下
数据库的配置文件在caches/configs/database.php
配置形式:数组形式。
栗子:
关于在控制器中使用数据curd:
数据库模型放在:phpcms/model目录下面
数据模型的名称可以这样:数据表名称 + _model.class.php
例如要使用一个'test'数据库,就先需要创建一个test_model.class.php数据库模型文件.
$this->db_setting = '具体的数据库参数配置,可以使用默认配置default 或者自定义';
$this->table_name = '数据表名';
在控制器中的链接方式:
在phpcms的具体的modules目录下就是,具体的项目模块了。
classes 为模块类库包
functions 为模块函数库包
templates 为模板包,这里通常放置含有权限控制的控制器模板,也就是后台模板。
前台模板放在phpcms/templates/default目录下
模板目录与控制器名称一致(或者自行考虑).
模块控制器类,放在模块目录下。命名的时候一般加上my开头,以此来表示这是二次开发所加入。
关于模块控制器类的创建:
两种类型:
一种:前台浏览 (不含权限控制)
二种:后台浏览 (含权限控制)
第一种控制器类的创建:
1.在模块目录下创建mytest.php文件
写入:
<?php
defined('IN_PHPCMS') or exit('No permission resource.');
class mytest{
function __construct() {
}
public function init() {
$myvar = 'hello world!';
echo $myvar;
}
public function mylist() {
$myvar = 'hello world!this is a example';
echo $myvar;
}
}
?>
关于路径访问:使用你的项目域名:
例如: .cms.com/index.php?m=test&c=mytest&a=mylist
m 代表的是module模块
c 代表的是controller控制器
a 代表的是具体控制器下的action 方法
第二种带有权限控制的控制器的创建:
1.创建文件:mytest_admin.php
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
class mytest_admin extends admin {
private $db;
public function __construct() {
}
public function init() {
$myvar = 'hi , this is my world!';
echo $myvar;
}
}
?>
关于模板文件的引用(加载):在你的控制器具体的方法中使用:
include、require、include_once、require_once
栗子如下:
include template('test','mytest','default');
关于数据库的相关的配置:phpcms的相关配置在:
caches/configs目录下
数据库的配置文件在caches/configs/database.php
配置形式:数组形式。
栗子:
<?php
return array (
'default' => array (
'hostname' => 'localhost',
'port' => 3306,
'database' => 'phpcmsv9',
'username' => 'root',
'password' => 'root',
'tablepre' => 'v9_',
'charset' => 'utf8',
'type' => 'mysqli',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
?>
如果想用其他的配置,可以在数据中在加入一个配置的索引
<?php
return array (
'default' => array (
'hostname' => 'localhost',
'port' => 3306,
'database' => 'phpcmsv9',
'username' => 'root',
'password' => 'root',
'tablepre' => 'v9_',
'charset' => 'utf8',
'type' => 'mysqli',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
'mytest' => array (
'hostname' => 'localhost',
'port' => 3306,
'database' => 'demo',
'username' => 'root',
'password' => 'root',
'tablepre' => '',
'charset' => 'utf8',
'type' => 'mysqli',
'debug' => true,
'pconnect' => 0,
'autoconnect' => 0
),
);
?>
然后在控制器中使用数据时候,可以指定需要什么样的数据库配置参数。关于在控制器中使用数据curd:
数据库模型放在:phpcms/model目录下面
数据模型的名称可以这样:数据表名称 + _model.class.php
例如要使用一个'test'数据库,就先需要创建一个test_model.class.php数据库模型文件.
<?php
defined('IN_PHPCMS') or exit('No permission resource.');
pc_base::load_sys_class('model','',0);
class user_model extends model{
public function __construct() {
$this->db_config = pc_base::load_config('database');
$this->db_setting = 'mytest';
$this->table_name = 'user';
parent::__construct();
}
}
?>
数据库模型类名与文件名一致$this->db_setting = '具体的数据库参数配置,可以使用默认配置default 或者自定义';
$this->table_name = '数据表名';
在控制器中的链接方式:
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
class mytest_admin extends admin {
private $db;
public function showList() {
$this->db = pc_base::load_model('user_model');
$data = $this->db->select();
print_r($data);
}
}
?>
本文标签:
很赞哦! ()
上一篇:PhpcmsV9中文常用变量介绍
相关教程
图文教程
phpcms搜索搜不到内容的解决方法
Phpcmsv9在呈现搜索结果的时候,会自动分词,于是会出现结果不全及搜索不到内容,具体Phpcmsv9搜索结果不全或者少内容的解决方法:
phpcms新闻轮播图实现方法示例
首页如果有新闻的轮播图,点击图片可以进入相关的新闻。因为已经使用外部js轮播插件,所以想不修改插件进行轮播我用的js插件是yx-rotaion插件
PHPCMS模板风格配置方法
二、找到菜单:设置 》站点管理 》默认站点,点修改,在【模板风格配置】里边选择模板。三、不同模型设置不同的模板:到 内容 》模型管理,修改文章、图片等模型,
phpcms标签参数使用说明
内容模块:content可用操作:lists 内容数据列表relation 内容相关文章hits 内容数据点击排行榜category 内容栏目列表
相关源码
-
(自适应响应式)教育培训机构集团网站pbootcms源码下载本模板基于PbootCMS系统开发,为教育培训机构设计,特别适合展示课程体系、师资团队和教学成果。采用响应式技术,确保在各类设备上都能提供良好的浏览体验。查看源码 -
(自适应)重工工业机械挖掘机机推土机网站源码下载基于PbootCMS内核开发的专业级重工机械企业网站模板,适用于挖掘机、推土机等重型工业设备展示。采用响应式设计技术,确保在各类设备上均能呈现专业视觉效果,帮助企业建立数字化展示窗口。查看源码 -
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
帝国CMS7.2互联网自媒体门户整站带数据源码免费下载分享一款高仿极客网门户模板,帝国cms7.2版本,非常适合互联网、自媒体、文章门户网站使用。测法发现备份数据恢复报错,找了几个版本的都是一样的,有能力的自行修复查看源码 -
帝国CMS游戏应用APP推广下载站模板免费下载本模板为移动应用推广、手机游戏推广行业设计,集成H5游戏平台与APP下载功能,支持PC端与移动端自适应访问。专注于为应用开发商、游戏发行商提供专业的线上推广展示平台。查看源码 -
(自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码
| 分享笔记 (共有 篇笔记) |
