aedart / util
5.1.0
2018-09-12 18:45 UTC
Requires
- php: >=7.1.0
- illuminate/support: 5.6.*
Requires (Dev)
- aedart/license: 1.*
- aedart/license-file-manager: ~2.0
- aedart/testing: ~2.0
README
弃用 - Util
包已被 aedart/athenaeum 替换
此包包含一系列各种实用资源,可以独立使用。
内容
如何安装
composer require aedart/util
此包使用 composer。如果您不知道这是什么或它是如何工作的,我建议在尝试使用此包之前先了解一些相关信息。
部分集合
如果您需要创建一个只包含特定元素的实体集合,那么您可能会发现 IPartialCollection
接口和 PartialCollectionTrait
很有用。
示例
在这个例子中,我们创建了一个只能包含整数值的实体集合。
<?php use \Aedart\Util\Contracts\Collections\PartialCollection; use Aedart\Util\Traits\Collections\PartialCollectionTrait; class MyCollection implements PartialCollection { use PartialCollectionTrait; public function put($key, $value) { if(!is_int($value)){ throw new \Exception(sprintf('Value must be of the type integer, %s given', var_export($value, true))); } $this->getInternalCollection()->put($key, $value); } public function populate(array $data = []) : void { // ... Implementation not shown here ... } public function offsetExists($offset) { // ... Implementation not shown here ... } public function offsetGet($offset) { // ... Implementation not shown here ... } public function offsetSet($offset, $value) { // ... Implementation not shown here ... } public function offsetUnset($offset) { // ... Implementation not shown here ... } }
幕后
PartialCollectionTrait
使用 Illuminate\Support\Collection
,并通过 getInternalCollection()
和 setInternalCollection()
方法提供对其的内部访问。
换句话说,您可以选择根据自己的需要形成实体集合,仅暴露您希望的方法。
贡献
您是否发现了缺陷( 错误或设计缺陷 ),或者希望改进?在以下部分,您可能会找到一些有用的信息,说明您可以如何帮助这个项目。无论如何,我都感谢您抽出时间帮助我提高这个项目的成果和整体质量。
错误报告
如果您确信您已经发现了一个错误,那么至少您应该创建一个新的问题。在该特定的问题中,您至少应该描述以下内容;
- 缺陷所在位置
- 对缺陷的良好、简短、精确的描述(为什么它是缺陷)
- 如何复制缺陷
- (可能的解决方案,以解决缺陷)
当时间允许时,我将审查您的问题并对它采取行动。
分支、代码和发送拉取请求
一个好的错误报告可以大大帮助我。尽管如此,如果您可以或愿意自行解决缺陷,以下是您可以这样做的步骤;
- Fork 此项目
- 为给定的缺陷修复创建一个新的本地开发分支
- 编写你的代码/更改
- 创建可执行的测试用例(证明你的更改是可靠的!)
- 将你的更改提交并推送到你的分叉仓库
- 发送带有你的更改的拉取请求
- 喝一杯啤酒 - 你应得的 :)
一旦我收到你的拉取请求(并且有时间处理),我将审查你的更改并将它们合并到这个项目中。如果没有,我会告诉你为什么我选择不这样做。
致谢
- Taylor Otwell,因为创建了Laravel,尤其是我每天都在使用的服务容器
版本控制
此包遵循语义版本控制2.0.0
许可
BSD-3-Clause,请阅读此包中包含的LICENSE文件