werx/collections

处理事物集合的基础类

0.3.0 2014-05-15 13:00 UTC

This package is auto-updated.

Last update: 2024-08-29 03:52:45 UTC


README

处理事物集合的基础类。

Build Status Total Downloads Latest Stable Version

用法

您可以创建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