flashport/laravel-json-marshaller
最新稳定版本:v0.12.5
Composer 安装命令:
composer require flashport/laravel-json-marshaller
包简介
A laravel wrapper for the lib flashport/json-marshaller
README 文档
README
A laravel wrapper for the json-marshaller lib.
Installation:
composer require flashport/laravel-json-marshaller
Usage:
There are two main ways of using this lib, it is possible to use existing target cast objects without modifying them, modifying only the model which performs the cast.
Option 1: Directly on the model
On the $casts array, specify the JsonMarshallable::class and the target class
after :. This will ensure the target class gets passed as an argument to the Marshaller.
/** * The attributes that should be cast. * * @var array<string, string> */ protected $casts = [ 'metadata' => JsonMarshallable::class . ":" . Metadata::class, 'customFields' => JsonMarshallable::class . ":" . CustomField::class, 'active' => 'bool', ];
Option 2: On the target classes
Target class:
Make sure to extend the AsJsonMarshallable class on your target classes.
use LaravelJsonMarshaller\Castables\AsJsonMarshallable; class CustomField extends AsJsonMarshallable { //... }
Model:
On the model, specify only the target class name you want to cast into.
/** * The attributes that should be cast. * * @var array<string, string> */ protected $casts = [ 'metadata' => Metadata::class, 'customFields' => CustomField::class, 'active' => 'bool', ];
统计信息
- 总下载量: 900
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-01-14