jotaen / fractal-response
在Laravel响应中使用Transformers
v1.0.0
2015-06-09 21:50 UTC
Requires
- php: >=5.4.0
- illuminate/html: ~5.0
- league/fractal: ~0.12
This package is not auto-updated.
Last update: 2024-10-02 07:34:06 UTC
README
使用FractalReponse,您可以轻松使用Fractal Transformers来序列化Laravel响应对象。
FractalResponse类继承自Illuminate\Http\Response。此外,您将您的Leage\Fractal-transformer传递给with()-方法,以便您的响应可以自动按照您希望的方式序列化。这对于编写REST服务特别有帮助,在这些服务中,您必须提供定义良好的数据结构。
安装
最简单的方法是将FractalResponse作为依赖项添加到您的composer.json文件中
require: { "jotaen/fractal-response": "1.x" }
示例
<?php namespace App\Http\Controllers; use League\Fractal; use Laravel\Lumen\Routing\Controller as BaseController; use FractalResponse\FractalResponse as Response; class Controller extends BaseController { public function showOneBook() { $book = new Book(); $response = new Response($book, 200); $response->with(new BookTransformer()); return $response; } public function showSeveralBooks() { $books = [ new Book(), new Book() ]; $response = new Response($books, 200); $response->with(new BookTransformer()); return $response; } } class Book { public function title() { return 'Help, i am an elephant!'; } } class BookTransformer extends Fractal\TransformerAbstract { public function transform($foo) { return [ 'Title' => $foo->title(), ]; } }