您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp3.2.1学习笔记-控制器[下]
发布时间:2017-09-19 11:41:18编辑:雪饮阅读()
请求类型:
请求类型可以判断请求是get、post或者其它类型等,控制器方法中如:
if(IS_GET){
echo 'get';
}
if(IS_POST){
echo 'post';
}
}
当直接访问一个方法时默认是get,如果是表单提交则根据表单提交的method决定
空操作:
当访问控制器中不存在的方法时会抛出一个错误页面,这样不太友好,我们也可以自定义处理找不到操作时的提示信息。
在控制器中新增一个方法如:
public function _empty(){
echo "找不到".ACTION_NAME.'方法';
}
此时若访问该控制器中的一个不存在的方法时就会自动执行该方法。
空控制器:
当访问一个模块下的不存在的控制器时会抛出一个错误页面,我们也可以自定义处理找不到控制器时的提示信息。
在模块目录下的Controller目录中添加EmptyController.class.php:
<?php
namespace Home\Controller;
use Think\Controller;
class EmptyController extends Controller{
public function index(){
echo '找不到'.CONTROLLER_NAME.'控制器';
}
}
此时访问不存在的控制器时就会自动执行该控制器的index方法。
操作绑定到类:
有时候一个类中的一个方法太庞大了。可读性就折损严重。
我们可以将该方法放到一个类中如:
在Home->Controller中建立User目录(控制器)
该目录中建立index.class.php:
<?php
namespace Home\Controller\User;
use Think\Controller;
class index extends Controller{
public function run(){
echo 'User控制器下的index方法';
}
}
这里只是将index方法做成了类。
其它方法同上。
然后配置文件中添加如:
'ACTION_BIND_CLASS'=>true,
访问如:
http://localhost/Home/User
这样就可以访问到分离出一个类的这个方法了。
操作绑定到类支持前置和后置方法如test.class.php:
<?php
namespace Home\Controller\User;
use Think\Controller;
class test extends Controller{
public function run(){
echo 'User控制器下的test方法';
}
public function _before_run(){
echo '前置';
}
public function _after_run(){
echo '后置';
}
}
操作绑定到类支持空操作:
在上面的User目录中建立_empty.class.php:
<?php
namespace Home\Controller\User;
use Think\Controller;
class _empty extends Controller{
public function run(){
echo '找不到'.ACTION_NAME.'方法';
}
}
操作绑定到类支持空控制器:
在上面的Controller目录中建立_empty->index.class.php:
<?php
namespace Home\Controller\_empty;
use Think\Controller;
class index extends Controller{
public function run(){
echo '找不到'.CONTROLLER_NAME.'控制器';
}
}
关键字词:thinkphp3.2.1,控制器