phpcms有没有控制器

后端开发   发布日期:2023年06月20日   浏览次数:503

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

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

phpcms有控制器。

phpcms中什么是控制器

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

新增一个控制器

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

  1. defined('IN_PHPCMS') or exit('No permission resources.');class mytest { function __construct() {
  2. } public function init() {
  3. $myvar = '这是默认加载!'; echo $myvar;
  4. } public function mylist() {
  5. $myvar = '这是自定义list!'; echo $myvar;
  6. }
  7. }

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

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

默认加载init()方法

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

加载的是mylist方法

模板介绍

前台模板

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

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

  1. include template('test', 'mytest', 'default');

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

后台模板

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

带权限的控制器

后台控制器

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

  1. defined('IN_PHPCMS') or exit('No permission resources.');
  2. pc_base::load_app_class('admin','admin',0);
  3. class mytest_admin extends admin{
  4. function __construct()
  5. {
  6. }
  7. public function index(){
  8. echo "后台控制器";
  9. }
  10. }

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

phpcms自定义模型

在类上面引入模型

  1. pc_base::load_sys_class('model', '', 0);

然后类extends继承model

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

  1. $this->db_config = pc_base::load_config('database');
  2. $this->db_setting = 'default';
  3. parent::__construct();

查询语句

  1. function init(){
  2. $sql = 'select * from v9_news ';
  3. $data = $this->get_array_by_sql($sql);
  4. var_dump($data);
  5. }
  6. public function sql_query($sql) {
  7. if (!empty($this->db_tablepre)) $sql = str_replace('phpcms_', $this->db_tablepre, $sql);
  8. return parent::query($sql);
  9. }
  10. public function fetch_next() {
  11. return $this->db->fetch_next();
  12. }
  13. //通过SQL语句查询一条结果
  14. public function get_one_by_sql($sql){
  15. $this->sql_query($sql);
  16. $res = $this->fetch_next();
  17. $this->free_result();
  18. return $res;
  19. }
  20. //通过sql语句查询数组
  21. public function get_array_by_sql($sql){
  22. $this->sql_query($sql);
  23. $res = $this->fetch_array();
  24. $this->free_result();
  25. return $res;
  26. }
  27. //释放数据库结果资源,调用底层完成
  28. public function free_result() {
  29. $this->db->free_result();
  30. }

以上就是phpcms有没有控制器的详细内容,更多关于phpcms有没有控制器的资料请关注九品源码其它相关文章!