mistery23 / laravel-value-objects
此包已被废弃,不再维护。没有建议的替代包。
laravel 对象关系
v1.1.4
2019-12-18 14:02 UTC
Requires
- php: ^7.2
- illuminate/database: ~5.8.0|^6.0
- marc-mabe/php-enum: ^4.2
- mistery23/eloquent-object-relations: ^1.2
- ramsey/uuid: ^3.8
README
安装
composer require mistery23/laravel-value-objects
特性
为 eloquent casts 提供额外功能。此包可以将您的属性封装在值对象中。
如果使用 id 格式 uuid(ramsey/uuid),您可以使用 Mistery23\ValueObjects\Objects\Id。为了在关系中的回传能力,在此包中使用 mistery23/eloquent-object-relations 包。
您可以使用 Mistery23\ValueObjects\Objects\EmailAddress 来处理您的电子邮件属性。您可以通过扩展 Mistery23\ValueObjects\Objects\EnumType 来处理您的状态属性(marc-mabe/php-enum)。
如果您想创建自己的值对象类型,您可以扩展 Mistery23\ValueObjects\Objects\NativeType 以实现简单对象,或实现 Mistery23\ValueObjects\ValueObjectInterface。
使用
use Mistery23\ValueObjects\HasValueObjects;
* ```php
* class User extends Model {
*
* use HasValueObjects;
*
*
* protected $casts = [
* 'email' => EmailAddress::class
* ];
* }
文件树
|-- .gitignore |-- LICENSE.MD |-- README.MD |-- composer.json `-- src |-- HasValueObjects.php |-- Objects | |-- EmailAddress.php | |-- EnumType.php | |-- Id.php | `-- NativeType.php |-- Util.php `-- ValueObjectInterface.php
- 可以使用 brew 安装 tree 命令:brew install tree
- 使用以下命令生成文件树:tree -a -I '.idea|.git|node_modules|vendor|storage|tests|composer.lock'
许可证
此包是免费软件,根据MIT 许可证的条款进行分发。享受吧!