chalcedonyt / laravel-valueobject
Laravel 5 中实现值对象模式的助手
1.01
2015-11-13 13:23 UTC
Requires
- php: >=5.3.0
- illuminate/support: ~5.1
This package is not auto-updated.
Last update: 2024-09-14 17:58:59 UTC
README
Value Object 模式的一个简单实现(http://c2.com/cgi/wiki?ValueObject),为 Laravel 5 提供一些助手。
安装
通过 Composer
$ composer require chalcedonyt/laravel-valueobject:1.*
Composer 完成后,将服务提供者添加到 app/config/app.php
文件中的 providers
数组中
Chalcedonyt\ValueObject\Providers\ValueObjectServiceProvider::class
使用方法
此包添加了一个用于快速创建值对象的助手生成器。
php artisan make:valueobject NewValueObject Enter the class or variable name for parameter 0 (Examples: \App\User or $user) [Blank to stop entering parameters] [(no_param)]: > $var1 Enter the class or variable name for parameter 1 (Examples: \App\User or $user) [Blank to stop entering parameters] [(no_param)]: > $var2
<?php
namespace App\ValueObjects;
class NewValueObject extends Chalcedonyt\ValueObject\ValueObject
{
/**
* @var
*/
protected $var1;
/**
* @var
*/
protected $var2;
/**
*
* @param $var1
* @param $var2
*/
public function __construct( $var1, $var2)
{
$this -> var1 = $var1;
$this -> var2 = $var2;
}
}
它还引入了一个静态方法 create
,可以从数组中返回 ValueObject 的实例。
$args = ['var1' => 1, 'var2' => 2];
$obj = NewValueObject::create($args);
$obj -> __toString(); //"{"var1":1,"var2":2}"
变更日志
- 1.1 您现在可以通过在类名中指定来在目录中创建 ValueObject,例如
php artisan make:valueobject MyDir\\MyObject
有关最近更改的更多信息,请参阅 [CHANGELOG]。