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 类; 

<?php
namespace Home\Event;

//是否继承控制器基类或者其他基类,取决于你的业务
 class UserEvent { 
     public function test() {
         echo '当触发测试事件,执行这个方法,这方法内部调用。';
      }
  }

调用

<?php
namespace Home\Controller;
use Think\Controller;
use Home\Event\UserEvent;



class UserController extends Controller {
   
    public function testAction(){
        $userEvent = new UserEvent();

     //  $userEvent = A('User', 'Event'); 以使用快捷调用方法 A()
//        $userEvent = A('Admin/User', 'Event'); //admin模块下

       $userEvent->test();

        echo 'test';
    }

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


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






Action 参数绑定

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

 'URL_PARAMS_BIND'=>true,


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


//传递两个参数

 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, '页面跳转中...');




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值