fobia/php-object-collection

PHP Object Collection

v0.2.0 2014-09-05 17:29 UTC

README

Latest Stable Version Total Downloads Latest Unstable Version License

Колекция объектов. Позволяет работать сразу над всеми объектами, фильтравать, устанавливать и извлекать их свойства.

Installation

PHP Object Collection can be installed with Composer by adding it as a dependency to your project's composer.json file.

{
    "require": {
        "fobia/php-object-collection": "*"
    }
}

Please refer to Composer's documentation for more detailed installation and usage instructions.

Usage

eq

Получить элемент по индексу

$oc->eq();  // Первый элемент
$oc->eq(0); // эквивалентно
$oc->eq(1); // Второй элемент
find

Найти все элементы, параметр которых удовлетворяют услови. Возвращает ноый экземпляр колекции объектов.

Поиск объектов с существующим свойством

$oc->find('Location');

Поиск объектов со свойством равным указаному значению

$oc->find('Location', 'localhost/js');

Поиск объектов удавлетворяющие возврату функции

$oc->find(function($obj, $key) {});
filter

Отфильтровать список объектов используя функции обратного вызова. В Функцию передаються объект и его индекс. Все объекты на которые функция вернула false, исключаються. Возвращает объект текущей колекции

Отфильтрует так, что остануться те элементы, свойство id которых соответствуют индексу в колекции. Причем после фильтрации индексы сбрасываються.

$oc->filter(function($object, $key) {
    return ($object->id == $key);   
});
each

Обходит весь масив, передавая функции объект, его индекс и дополнительные параметры. Если функция возвращает false, обход останавливаеться. Возвращает объект текущей колекции

$oc->each(function($object, $key) {});