登录  /  注册
首页 > CMS教程 > PHPCMS > 正文

phpcms有控制器吗

青灯夜游
发布: 2023-02-17 10:37:47
原创
1492人浏览过

phpcms有控制器。phpcms控制器是模块的类文件,储存在“phpcms/modules”下面,每个模块都是独立的命名方式,类名是“文件名+.php命名”格式;控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。

phpcms有控制器吗

本教程操作环境:windows7系统、phpcms v9版,DELL G3电脑

phpcms有控制器。

phpcms中什么是控制器

phpcms控制器是模块的类文件,储存在phpcms/modules下面,每个模块都是独立的命名方式,类名是文件名+.php命名格式,控制器类默认继承系统的函数库,可以直接使用。控制器类的类名称与控制器文件名必须相同。

新增一个控制器

下面我们就在phpcms/modules下面新建一个test文件夹,在test文件夹里面新建一个名叫mytest.php的文件,在文件里面添加以下代码:

defined('IN_PHPCMS') or exit('No permission resources.');class mytest {    function __construct() {
    }    public function init() {
        $myvar = '这是默认加载!';        echo $myvar;
    }    public function mylist() {
        $myvar = '这是自定义list!';        echo $myvar;
    }
}
登录后复制

然后我们在浏览器输入以下访问方式即可

http://域名/index.php?m=test&c=mytest

默认加载init()方法

http://域名/index.php?m=test&c=mytest&a=mylist

加载的是mylist方法

模板介绍

前台模板

网站前台模板位置在phpcms/templates/default/模块下面

我们在控制器mytest.php文件init()方法里面加入加载模板方法

include template('test', 'mytest', 'default');
登录后复制

在phpcms/templates/default/目录下面新建一个test文件夹和mytest.html文件即可。

后台模板

后台模板文件在phpcms/modules/模块名称/templates 目录中

带权限的控制器

后台控制器

在phpcms/modules/admin/下面新建一个mytest_admin.php文件,文件代码如下:

defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
class mytest_admin extends admin{
    function __construct()
    {
    }
    public function index(){
        echo "后台控制器";
    }
 
}
登录后复制

访问地址:http://域名/index.php?m=admin&c=mytest_admin&a=index

phpcms自定义模型

在类上面引入模型

pc_base::load_sys_class('model', '', 0);
登录后复制

然后类extends继承model

在__construct方法里面添加以下代码:

$this->db_config = pc_base::load_config('database');
$this->db_setting = 'default';
parent::__construct();
登录后复制

查询语句

function init(){
    $sql = 'select * from v9_news ';
    $data = $this->get_array_by_sql($sql);
    var_dump($data);
}
public function sql_query($sql) {
    if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql);
    return parent::query($sql);
}
 
public function fetch_next() {
    return $this->db->fetch_next();
}
//通过SQL语句查询一条结果
public function get_one_by_sql($sql){
    $this->sql_query($sql);
    $res = $this->fetch_next();
    $this->free_result();
    return $res;
}
//通过sql语句查询数组
public function get_array_by_sql($sql){
    $this->sql_query($sql);
    $res = $this->fetch_array();
    $this->free_result();
    return $res;
}
 
//释放数据库结果资源,调用底层完成
public function free_result() {
    $this->db->free_result();
}
登录后复制

PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!

以上就是phpcms有控制器吗的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号