mistery23/laravel-value-objects

此包已被废弃,不再维护。没有建议的替代包。

laravel 对象关系

v1.1.4 2019-12-18 14:02 UTC

This package is auto-updated.

Last update: 2020-10-18 21:56:34 UTC


README

安装

composer require mistery23/laravel-value-objects

特性

为 eloquent casts 提供额外功能。此包可以将您的属性封装在值对象中。

如果使用 id 格式 uuidramsey/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 许可证的条款进行分发。享受吧!