Коллекции
# Введение
Класс October\Rain\Support\Collection
- гибкая и удобная обёртка для работы с массивами.
Для примера, взгляните на код ниже. Мы создадим новую коллекцию из массива и применим функцию strtoupper
к каждому элементу. После чего удалим все пустые элементы:
$collection = new October\Rain\Support\Collection(['stewie', 'brian', null]);
$collection = $collection
->map(function ($name) {
return strtoupper($name);
})
->reject(function ($name) {
return empty($name);
})
;
Как вы можете видеть, класс Collection
позволяет строить цепочки вызовов для операций типа map и reduce над заданным массивом данных. В основном каждый метод класса Collection
возвращает новый объект класса Collection
.
# Создание коллекций
Просто передайте массив в конструктор класса October\Rain\Support\Collection
. Пример:
$collection = new October\Rain\Support\Collection([1, 2, 3]);
Там, где методы модели бд возвращают не один, а несколько объектов - возвращается коллекция. Однако, коллекции предоставляют слишком мощный функционал. Попробуйте применить класс Collection
у себя в приложении.
# Доступные методы
Вместо того, чтобы приводить здесь огромный скучный список методов коллекции, мы отсылаем вас к более удобной документации API этого класса (opens new window).