[李景山php]每天laravel[028]-laravel 基础知识 --- 响应

47 篇文章 0 订阅

HTTP响应

1 基础响应

最简单的响应

      Route::get('/',function(){
           return "Hello world";
      });

使用响应方式进行的响应

 use Illuminate\Http\Response;
 Route::get('home',function(){
      return(new Response($content,$status))->header('Content-Type',$value));
 });

使用response helper 方法进行响应

 Route::('home',function(){
      return response($content,$status)->header('Content-Type',$value);
 });

可以使用多次header设置更多头信息

     return response($content)
          ->header('Content-Type',$type)
          ->header('X-Header-One','Header Value')
          ->header('X-Header-Two','Header Value');

增加 cookie 信息进行回复

 return response($content)->withCookie('name','value');

 其中withCookie 参数
 ->withCookie($name,$value,$minutes,$path,$domain,$secure,$httpOnly);

 默认的cookie 都是加密的,如果想不让我们的cookie值加密,可以进行设置

对于设置的位置就是 App\Http\Middleware\EncyptCookies 里面

     protected $except = [
          'cookie_name',
     ]

2 其它响应类型
view 方式的响应方式
例如:

     return response()->view('hello',$data)->header('Content-Type',$type);

JSON 方式响应

     return response()->json(['name'=>'Abigail','state'=>'CA']);

JSONP跨越响应方式

     return response()->json(['name'=>'lijingshan','state'=>'CA'])->setCallback($request->input('callback'));

文件下载
return response()->download( pathToFile);returnresponse()>download( pathToFile, name, headers);

3 跳转
常规跳转
return redirect(‘home/url’);
带数据信息跳转回去
return back()->withInput();
根据路由名字进行跳转
return redirect()->route(‘login’);
return redirect()->route(‘profile’,[1]);
return redirect()->route(‘profile’,[$user]);
直接跳转到控制器方法
return redirect()->action(‘HomeController@index’);
return redirect()->action(‘HomeController@index’,[1]);
带着session信息跳转
return redirect(‘url_route’)->with(‘status’,’Profile updated’);
模版内的用法:

     @if(session('status'))
          <div class="alert alert-success">
               {{session('status')}}
          </div>
     @endif

4 响应指令函数封装

如果大家拥有各种神奇的目标,可以 在 Illuminate\Contracts\Routing\ResponseFactory 里面的boot 方法里面,加上

public function boot(ResponseFactory $factory){
     $factory->macro('caps',function($value)use($factory){
          return $factory->make(stroupper($value));
     });
}

使用过程就可以使用;

return response()->caps('foo');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值