【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函数重定向。