phpcms有控制器吗

来源:undefined 2024-12-23 12:15:57 1008

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

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

phpcms有控制器。

phpcms中什么是控制器

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

立即学习PHP免费学习笔记(深入)”;

新增一个控制器

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

1

2

3

4

5

6

7

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

模板介绍

前台模板

网站前台模板位置在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

2

3

4

5

6

7

8

9

10

11

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自定义模型

在类上面引入模型

1

pc_base::load_sys_class(model, , 0);

登录后复制

然后类extends继承model

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

1

2

3

$this->db_config = pc_base::load_config(database);

$this->db_setting = default;

parent::__construct();

登录后复制

查询语句

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

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中文网其它相关文章!

最新文章