Package Data | |
---|---|
Maintainer Username: | chalcedonyt |
Maintainer Contact: | chalcedonyt@gmail.com (Timothy Teoh) |
Package Create Date: | 2015-10-08 |
Package Last Update: | 2015-11-13 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-09 15:04:21 |
Package Statistics | |
---|---|
Total Downloads: | 3,239 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 4 |
Total Watchers: | 1 |
Total Forks: | 0 |
Total Open Issues: | 0 |
A simple implementation of the Value Object pattern (http://c2.com/cgi/wiki?ValueObject) with some helpers for Laravel 5.
Via Composer
$ composer require chalcedonyt/laravel-valueobject:1.*
Once composer is finished, add the service provider to the providers
array in app/config/app.php
:
Chalcedonyt\ValueObject\Providers\ValueObjectServiceProvider::class
This package adds a helper generator for Value Objects to quickly create them.
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;
}
}
It also introduces a static method create
that will return an instance of the ValueObject from an array.
$args = ['var1' => 1, 'var2' => 2];
$obj = NewValueObject::create($args);
$obj -> __toString(); //"{"var1":1,"var2":2}"
php artisan make:valueobject MyDir\\MyObject
Please see [CHANGELOG] for more information what has changed recently.