ThinkPHP--控制器(一)

控制器操作

//配置控制器方法后缀

 'ACTION_SUFFIX'=>'Action',

//每个方法后面加上Action,对于URL访问不需要加Action 

class UserController extends Controller {

 public function indexAction() {

 echo 'index'; 

public function testAction() { 

echo 'test';

}


事件 控制器层

第一步:创建事件控制器目录:home目录Event文件夹; 

第二步:创建 UserEvent.class.php 类; 

调用

//        $userEvent = A('Admin/User', 'Event'); //admin模块下

       $userEvent->test();

        echo 'test';
    }

//允许二级控制器 'CONTROLLER_LEVEL'=>2,    //一般不设置  一般用一级


ThinkPHP 控制器还提供了两个特殊的方法,前置操作方法_before_index()和后置操 作方法_after_index()。这两个方法,在控制器 index()方法的时候,一个在之前执行, 一个在之后执行。


ThinkPHP--控制器(一)_第1张图片


ThinkPHP--控制器(一)_第2张图片


Action 参数绑定

参数绑定是通过直接绑定 URL 地址中的变量作为操作方法的参数,可以简化方法的定 义甚至路由的解析。 //启用Action参数绑定,默认为true,可以不写

 'URL_PARAMS_BIND'=>true,


//变量名为$id     可以 设置默认值  public function index($id=1)    或 URL传递id

ThinkPHP--控制器(一)_第3张图片

//传递两个参数

 class UserController extends Controller {

 public function index($id, $type) {

echo 'id:'.$id.',type:'.$type; 

}

 } 

//http://localhost/php004/user/index/id/5/type/a


当定义按顺序传参绑定了

 'URL_PARAMS_BIND_TYPE'=>1,

就可以http://localhost/php004/user/index/5/a   直接传参


跳转和重定向 


class UserController extends Controller {
    public function index(){
       
        $flag = true; if ($flag) {
            
            $this->success('新增成功!', '../User/all');
            
        } else { //
            会跳转到本页的上一页 $this->error('新增失败!'); 
        }
    }
    public function all(){
        echo '显示所有用户列表';
    }

//设置5秒

 $this->success('新增成功!', 'list', 5);

//默认错误跳转对应的模板文件

 'TMPL_ACTION_ERROR' =>THINK_PATH .'Tpl/dispatch_jump.tpl', 

//默认成功跳转对应的模板文件

 'TMPL_ACTION_SUCCESS'=>THINK_PATH.'Tpl/dispatch_jump.tpl',


//可自定义成功和错误提示模版页面 

'TMPL_ACTION_SUCCESS'=>'Public/success', 

'TMPL_ACTION_ERROR'=>'Public/error',


ThinkPHP 还单独提供了重定向方法 redirect(),参数和 U()方法一样。这个方法使 用的是 URL 规则。

 $this->redirect('User/test', array('id'=>5), 5, '页面跳转中...');


直接使用 redirect()函数。

 redirect('http://www.baidu.com', 5, '页面跳转中...');




你可能感兴趣的:(thinkphp)