Я никогда не использовал генераторы в PHP. Я понимаю, как использовать это:
Создайте массив для выполнения некоторых задач для каждого значения, таких как поиск определенной строки в большом файле для удаления некоторых символов.
Что мне нужно :
Мне нужно получить все группы из моей базы данных. Конечно, у меня есть аргумент limit, чтобы не превышать память PHP (там 30 000 полос ..).
Я должен фильтровать значения и возвращать новый массив клиенту в мой REST API.
Что я хочу знать:
Интересно ли мне создать метод в признаке «генератор» для выполнения кода ниже?
Во всех случаях мне нужно создать новый массив, чтобы вернуть его в мой метод
$bands = Models\Bands::find($bandsParameters);
$json = [];
foreach ($bands as $band) {
$followers = $band->getFollowers();
$followersArr = [];
foreach ($followers as $follower) {
$followerImage = $follower->getImage();
$followerObj = (object)[
'id' => $follower->id,
'username' => $follower->username,
'image' => $followerImage->url,
'online' => $follower->online,
'createdOn' => $follower->createdOn,
'updatedOn' => $follower->updatedOn,
'lastLogin' => $follower->lastLogin,
];
$followersArr[] = $followerObj;
}
$info = $band->getInfo($bandInfoParameters)->getFirst();
$bandObj = (object)[
'id' => $band->id,
'name' => $band->name,
'style' => $band->styles,
'country' => $band->country,
'summary' => isset($info->summary) ? $info->summary : null,
'followers' => $followersArr,
'createdOn' => $band->createdOn,
'updatedOn' => $band->updatedOn,
'authoredBy' => $band->authoredBy,
'updatedBy' => $band->updatedBy,
];
$json[] = $bandObj;
}
return ['key' => 'bands', 'value' => $json];
Задача ещё не решена.
Других решений пока нет …