News新闻

业界新闻动态、技术前沿
Who are we?

您的位置:首页      乐道系统FAQ      Laravel 5.5中为响应请求提供的可响应接口详解

Laravel 5.5中为响应请求提供的可响应接口详解

发布日期:2017-11-30 00:00:00 95

前言

Laravel 5.5 也将会是接下来的一个 LTS(长期支持)版本。 这就意味着它拥有两年修复以及三年的安全更新支持。Laravel 5.1 也是如此,不过它两年的错误修复支持将在今年结束。

Laravel 5.5 的路由中增加了一种新的返回类型:可相应接口( Responsable )。该接口允许对象在从控制器或者闭包路由中返回时自动被转化为标准的 HTTP 响应接口。任何实现 Responsable 接口的对象必须实现一个名为 toResponse() 的方法,该方法将对象转化为 HTTP 响应对象。

看示例:

use Illuminate\Contracts\Support\Responsable;

class ExampleObject implements Responsable
{
 public function __construct($name = null)
 {
  $this->name = $name ?? 'Teapot'; 
 }

 public function status()
 {
  switch(strtolower($this->name)) {
   case 'teapot':
    return 418;
   default:
    return 200;
  }
 }

 public function toResponse()
 {
  return response(
   "Hello {$this->name}",
   $this->status(),
   ['X-Person' => $this->name]
  );
 }
}