ThinkPHP5之重定向和空控制器操作

重定向:用各种方法将一个网络请求重新转到到其他位置
下面是重定向redirect()方法参数的说明

/**
     * URL 重定向
     * @access protected
     * @param string    $url    跳转的 URL 表达式
     * @param array|int $params 其它 URL 参数
     * @param int       $code   http code
     * @param array     $with   隐式传参
     * @return void
     * @throws HttpResponseException
     */
    protected function redirect($url, $params = [], $code = 302, $with = [])
    {}

举个例子

  //重定向  
    public function cdx(){

    //不携带参数
        $this->redirect('index/index',['name'=>'aaa','pwd'=>'213']);
        //我访问http://www.yd.com/login/cdx点击完自动会跳转到http://www.yd.com/index/index.html

    //携带参数
        $this->redirect('index/index',['name'=>'aaa','pwd'=>'213']);
        //我访问http://www.yd.com/login/cdx点击完自动会跳转到首页并携带参数http://www.yd.com/index/index/name/aaa/pwd/213.html
    }

空制造器和空方法
空方法 _empty()
解决的问题:解决用户恶意在地址栏输入,或者找不到控制器里面的方法,自动走_empty()方法,比如一些报4.4的错误
空控制器
解决的问题:解决用户在地址栏输入不存在的控制器,会自动调用空控制器,也可以修改,配置,写我们自己的空控制器,系统默认的空控制器为Error

    // 默认的空控制器名
    'empty_controller'       => 'Error',
    //创建一个空控制器
    namespace app\index\controller;

    use think\Controller;
    class Error extends Controller
    {
        public function index(){
        echo '空控制器';
        //$this->redirect('index/index');
    }
}
//我们在浏览器任意输入控制器,如果不存在就会走Error控制器的index()方法

注意
1. 网站上线每一个控制器必须写一个空操作
2. 每一个网站必须有一个空控制器


资源控制器 第12节空操作后面
1. 用命令行创建控制器
2. 一般配合资源路由写的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值