phpcms有控制器吗

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

phpcms有控制器。

phpcms中什么是控制器

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

立即学习“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教程,欢迎在线学习!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。