mgdigital / deconstructor
该包已被弃用且不再维护。未建议替代包。
该包最新版本(v0.1.4)没有可用的许可证信息。
v0.1.4
2016-06-02 13:41 UTC
Requires
- php: >=7.0
This package is not auto-updated.
Last update: 2018-02-16 12:34:27 UTC
README
是什么?
类可以有构造函数,那么为什么不能有解构函数呢?
为什么?
允许对象描述其是如何实例化的,从而能够根据其构造函数参数创建相同的副本。
如何?
<?php
class ValueObject implements MGDigital\Deconstructor\DeconstructorInterface
{
private $property;
public function __construct($property)
{
$this->property = $property;
}
public function deconstruct(): array
{
return [$this->property];
}
public function getProperty()
{
return $this->property;
}
}
$instance = new ValueObject('value');
$deconstruction = MGDigital\Deconstructor\Deconstruction::deconstruct($instance);
$copy = $deconstruction->construct();
echo $copy->getProperty(); // value