文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

phpcms有没有控制器

2023-02-20 21:02

关注

今天小编给大家分享一下phpcms有没有控制器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

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();
}

以上就是“phpcms有没有控制器”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网服务器栏目。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯