Метод make
Метод make является статическим методом класса Collection и служит для создания нового экземпляра коллекции. В качестве параметра метод принимает массив или любую другую итерируемую структуру данных. Если параметр не передан, будет создана пустая коллекция. Метод удобно использовать, когда нужно гарантированно получить объект коллекции из любых входных данных.
Синтаксис
<?php
use Illuminate\Support\Collection;
Collection::make($items);
?>
Пример
Создадим коллекцию из массива строк:
<?php
use Illuminate\Support\Collection;
$res = Collection::make(['a', 'b', 'c', 'd', 'e']);
print_r($res->all());
?>
Результат выполнения кода:
['a', 'b', 'c', 'd', 'e']
Пример
Создадим коллекцию из ассоциативного массива с данными пользователя:
<?php
use Illuminate\Support\Collection;
$res = Collection::make([
'name' => 'user',
'email' => 'user@example.com',
'age' => 25
]);
print_r($res->all());
?>
Результат выполнения кода:
['name' => 'user', 'email' => 'user@example.com', 'age' => 25]
Пример
Если метод вызвать без параметров, будет создана пустая коллекция:
<?php
use Illuminate\Support\Collection;
$res = Collection::make();
print_r($res->all());
?>
Результат выполнения кода:
[]
Пример
Метод make может принимать объекты, реализующие интерфейс Iterator. Создадим коллекцию из результата работы генератора:
<?php
use Illuminate\Support\Collection;
function getNumbers() {
for ($i = 1; $i <= 5; $i++) {
yield $i;
}
}
$res = Collection::make(getNumbers());
print_r($res->all());
?>
Результат выполнения кода:
[1, 2, 3, 4, 5]