emeraldinspirations/lib-objectdesignpattern-immutable
Composer 安装命令:
composer require emeraldinspirations/lib-objectdesignpattern-immutable
包简介
Functions that are common in immutable objects
README 文档
README
lib-objectdesignpattern-immutable
An object design pattern support class in emeraldinspiration's library.
Functions that are common in immutable objects
Installing / Getting started
This project has no dependencies, so can be cloned directly from the git repo or required with Composer.
Require with Composer
composer require emeraldinspirations/lib-objectdesignpattern-immutable
Example
<?php use emeraldinspirations\library\objectDesignPattern\immutable\ImmutableTrait; class ExampleImmutableObject { use ImmutableTrait; protected $Property; /** * Return value of Property * * @return \stdclass */ public function getProperty() : \stdclass { return $this->Property; } /** * Create new instance with new Property value * * @param \stdclass $Property New value * * @return self */ public function withProperty(\stdclass $Property) : self { return $this->with(__FUNCTION__, $Property); } /** * Clone all specified properties are cloned as necessary * * @return void */ public function __clone() { // Create an array of references to properties to clone $PropertiesToByCloned = [ &$this->Property, // ^ - IMPORTANT: Be sure to pass by reference ]; self::cloneArrayRecursively($PropertiesToByCloned); } }
Contributing
If you'd like to contribute, please fork the repository and use a feature branch.
I am also open to feedback about how well I am being compliant with standards and "best practices." I have written software solo for years, and am trying to learn how to work better with others.
Licensing
The code in this project is licensed under MIT license.
统计信息
- 总下载量: 22
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-08-12