0
点赞
收藏
分享

微信扫一扫

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


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 条评论