fiv/collection

轻松遍历数据的方式

0.0.1 2014-11-07 10:26 UTC

This package is auto-updated.

Last update: 2024-09-12 06:47:07 UTC


README

Latest Version Software License Build Status Coverage Status Quality Score Total Downloads

以面向对象的方式操作项目数组。 ObjectCollection - 仅包含/操作具有特定类的对象 TypedCollection - 包含/操作具有定义验证规则的项 BaseCollection - 包含/操作任何项

ObjectCollection 是最有用的集合。您可以指定对象的类,并仅添加此类对象。所有验证都由 ObjectCollection 执行。其他数据类型受到限制。此类保证严格的数据类型。

安装

通过 Composer

$ composer require fiv/collection

基本集合的使用

$collection = new \Fiv\Collection\BaseCollection();
$collection[] = 1;
$collection[] = 2;
echo $skeleton->getFirst()

示例:ObjectCollection

在 Java 中有类似 ArrayList<UserModel> 的特性,在 PHP 中,您可以将 ObjectCollection 扩展到 UserModelCollection 并定义类名。

class UserModel {
  public function getName(){
  
  }
}

class UsersCollection extend  ObjectCollection {
  public function objectsClassName(){
    return 'UserModel';
  }
}

# .... 
$users = new UserCollection();

foreach($users as $user){
  # at this point you can drop out all you validations
  # ObjectCollection guarantee that all items are UserModel
  $user->getName(); 
}


$users->append(123); // Fail. 123 is not instance of UserModel  

测试

$ ./vendor/bin/phpunit

贡献

有关详细信息,请参阅 CONTRIBUTING

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件