fobia/php-object-collection

v0.3.1 2016-01-08 22:19 UTC

This package is not auto-updated.

Last update: 2024-03-25 23:47:10 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) {});