La parola chiave yield in PHP
28-09-2022
Casi d'uso di yield
PHP
28-09-2022
Casi d'uso di yield
Spesso mi sono trovata a fare grandi giri per arrivare poi con il tempo a scoprire che avrei potuto risparmiare linee di codice e rendere tutto anche molto piĆ¹ leggibile.
Praticamente la parola chiave yield ritorna un iterable. Ad esempio in un menu potrei fare un array con i vari elementi
public function configMenuItems(): iterable
{
$links = [];
if(true) {
$links = array_merge($links, [
MenuItem::section('Blog'),
MenuItem::linkToCrud('Post'),
]);
}
$links = array_merge($links, [
MenuItem::section('Impostazioni'),
MenuItem::linkToCrud('Utente'),
]);
return $links;
}
Oppure usando yield avere lo stesso risultato
public function configMenuItems(): iterable
{
if(true) {
yield MenuItem::section('Blog');
yield MenuItem::linkToCrud('Post');
}
yield MenuItem::section('Impostazioni');
yield MenuItem::linkToCrud('Utente');
}