【ThinkPHP框架3.2版本学习总结】二、控制器

1. 控制器的定义

2. URL模式

ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义

(1)普通模式(URL_Model=>0)

http://域名/index.php?m=模块&c=控制器&a=方法&参数列表
http://www.tp.com/index.php?m=Home&c=Index&a=index&id=1

(2)PATHINFO模式(URL_Model=>1)

http://域名/index.php/模块/控制器/方法名/参数列表
http://www.tp.com/index.php/Home/Index/index

(3)重写模式(URL_Model=>2)

http://域名/模块/控制器/方法/参数列表
http://www.tp.com/Home/Index/index

注:如果要使用重写模式,需要如下配置

①httpd.conf配置文件中加载了mod_rewrite.so模块

②配置虚拟主机文件中AllowOverride None将None改为All

③把下面的内容保存为.htaccess文件放到入口文件的同级目录下

(4)兼容模式(URL_Model=>3)

http://域名/index.php?s=模块/控制器/方法/参数列表
http://域名/index.php?s=Home/Index/index

3. 空操作

空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。

(1)实现错误页面

(2)优化url参数

4. 空控制器

空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(EmptyController),利用这个机制我们可以用来定制错误页面和进行URL的优化。

(1)定制错误页面

(2)优化url链接

5. URL大小写

6. 页面跳转

success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单位为秒),默认的等待时间success方法是1秒,error方法是3秒。

默认情况下,系统会自动调用系统自定义的两个模板

7. 页面重定向

$this->redirect('重定向url地址','传递的参数',跳转时停留时间,'提示信息');

如果你仅仅是想重定向要一个指定的URL地址,而不是到某个模块的操作方法,可以直接使用redirect函数重定向。

原文地址:https://www.cnblogs.com/chenjiacheng/p/6522588.html