您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程

phpcms二次开发目录结构控制器类使用方法

凡柔2025-06-12phpcms教程已有人查阅

导读目录结构图如下:在phpcms的具体的modules目录下就是,具体的项目模块了。classes 为模块类库包functions 为模块函数库包templates 为模板包,这里通常放置含有权限控制的控

目录结构图如下:
在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);
}
}
?>

本文标签:

很赞哦! ()

相关源码

  • (自适应)科技产品设备技术作品pbootcms网站模板带下载和招聘基于PbootCMS内核开发的高端科技企业模板,采用响应式布局技术,适配各类移动终端设备。模板设计聚焦科技行业特性,通过模块化结构实现企业形象展示、技术成果发布与人才招募等核心需求查看源码
  • (自适应)帝国CMS7.5模板淘宝客导购博客文章源码本模板基于帝国CMS7.5内核深度开发,为电商导购类网站设计。采用响应式布局技术,确保在手机、平板及电脑端均能获得优质浏览体验。模板内置商品推荐模块与优惠信息展示区,可快速搭建专业导购平台。查看源码
  • (自适应)证书授权书防伪查询系统pbootcms模板本模板基于PbootCMS系统开发,为各类证书查询机构设计,可快速构建高效安全的证书核验平台。采用响应式布局技术,自动适配手机端操作,支持批量导入证书数据,提供便捷的查询接口,满足机构证书管理及用户在线核验需求。查看源码
  • 帝国cms7.5游戏门户H5小游戏网站模板源码免费下载基于帝国CMS7.5开发的H5游戏门户模板,为在线游戏平台设计。支持PC端与移动端同步生成,打造完整的游戏娱乐体验平台。查看源码
  • (自适应)简繁双语机械矿山矿石五金设备pbootcms源码下载本模板基于PbootCMS开发,主要面向机械五金、矿山矿石设备等行业,支持简体中文和繁体中文双语切换。采用响应式布局技术,确保在各种设备上都能获得良好的浏览体验。模板设计注重展示工业设备的专业性和技术特点,帮助企业建立可靠的线上展示平台。查看源码
  • (自适应响应式)水墨风白酒酿制酒业酒文化酒类产品网站源码下载本模板基于PbootCMS内核开发,为酒类企业打造的水墨风响应式网站解决方案。采用传统东方美学设计语言,呈现白酒文化底蕴,自适应移动端展示效果,数据实时同步更新,助力酒企建立专业数字化形象。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐