werx / collections
处理事物集合的基础类
0.3.0
2014-05-15 13:00 UTC
Requires
- php: >= 5.4
Requires (Dev)
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: 1.*
This package is auto-updated.
Last update: 2024-08-29 03:52:45 UTC
README
处理事物集合的基础类。
用法
您可以创建Collection对象的实例...
$foo = new \werx\Collections\Collection;
或者创建一个扩展它的类。
class Foo extends \werx\Collections\Collection { } $foo = new Foo();
在构造函数中填充集合。
$foo = new new \werx\Collections\Collection(['foo' => 'Foo', 'bar' => 'bar']);
通过将数组传递给set()方法,向集合中添加多个项目。
$foo = new Foo(); $foo->set(['foo' => 'Foo', 'bar' => 'bar']);
集合中有多少个项目?
var_dump($foo->count()); # OR var_dump(count($foo)); // The Collection class implements the Countable() interface. // 2
集合中有一个名为'foo'的键吗?(是)
var_dump($foo->has('foo')); // true
集合中有一个名为'x'的键吗?(否)
var_dump($foo->has('x')); // false
从集合中获取名为'foo'的键的值。
var_dump($foo->get('foo')); // Foo
如果键不存在,则返回默认null。
var_dump($foo->get('x')); // null
如果键不存在,则设置不同的默认值。
var_dump($foo->get('x', 'no')); // no
设置键/值。
$foo->set('name', 'Josh');
在不指定特定键的情况下向集合中添加项目。
$foo->add('Josh');
在不指定特定键的情况下向集合中添加数组。
$foo->add(['name' => 'Josh', 'location' => 'Arkansas']);
从集合中删除键。
$foo->remove('name');
获取集合中所有键。
$foo->all();
或者
$foo->toArray();
将集合转换为json。
var_dump($foo->toJson()); // {"foo":"Foo","bar":"Bar"}
将集合转换为字符串也将返回json。
var_dump((string) $foo); // {"foo":"Foo","bar":"Bar"}
清空集合。
$foo->clear();
安装
使用Composer安装此包非常简单。如果您不熟悉PHP的Composer依赖管理器,您应该先阅读这篇文档。
composer.json
"require": { "werx/collections": "dev-master" }
贡献
单元测试
$ vendor/bin/phpunit
编码规范
此库使用PHP_CodeSniffer来确保遵循编码规范。
我采用了PHP FIG PSR-2 编码规范,除了缩进时使用制表符或空格的规则。PSR-2说使用4个空格。我使用制表符。无讨论。
为了支持使用制表符缩进,我定义了一个自定义PSR-2规则集,该规则集扩展了PHP_CodeSniffer使用的标准PSR-2规则集。您可以在本项目的根目录中找到此规则集,名为PSR2Tabs.xml。
从本项目的根目录执行codesniffer命令以使用这些自定义规则运行sniffer。
$ ./codesniffer