使用以下命令将此包与composer一起使用:
composer require league/fractal 0.17.0
composer require cyvelnet/laravel5-fractal
更新编写器后,将ServiceProvider添加到config / app.php中的providers数组
Cyvelnet\Laravel5Fractal\Laravel5FractalServiceProvider::class,
并注册Facade并可选择向aliases数组添加一个新行:
'Fractal' => Cyvelnet\Laravel5Fractal\Facades\Fractal::class
您还可以发布配置文件以更改适合您的实现。
php artisan vendor:publish --provider="Cyvelnet\Laravel5Fractal\Laravel5FractalServiceProvider"
cyvelnet/fractal 有一个有用的命令行来帮助您进行api转换,只需键入,您的Eloquent模型属性将自动添加到您的转换数组中
//生成一个空的变换器
php artisan make:transformer UserTransformer
//生成一个建模的变换器
php artisan make:transformer UserTransformer -m User
Fractal::item();
转换单个记录
$user = User::find(1);
Fractal::item($user, new UserTransformer());
Fractal::collection();
转换记录集合
$users = User::where('activated', true)->get();
// $resourceKey对于大多数序列化程序是可选的,但建议为JsonApiSerializer设置
$resourceKey = 'user';
Fractal::collection($users, new UserTransformer(), $resourceKey);
更多介绍
https://packalyst.com/packages/package/cyvelnet/laravel5-fractal