Aller au contenu

yield

Introduction

Le mot clé yield est utilisé en PHP pour créer une fonction générateur. Un générateur est un type spécial de fonction qui peut être mis en pause et repris pendant l'exécution, lui permettant de produire une séquence de valeurs à la volée plutôt que toutes en une fois.

Exemple

Voici un exemple qui démontre l'utilisation de yield en PHP :

Exemple d'utilisation du mot clé yield en PHP

php
<?php

function myGenerator()
{
  yield "Hello";
  yield "World";
  yield "!";
}

foreach (myGenerator() as $value) {
  echo $value . " ";
}

Dans l'exemple ci-dessus, la fonction myGenerator() est définie comme un générateur à l'aide du mot clé yield. La fonction renvoie une séquence de valeurs : "Hello", "World" et "!". Lorsque la fonction est appelée, elle ne s'exécute pas immédiatement. Au lieu de cela, elle renvoie un objet générateur qui peut être utilisé pour itérer sur la séquence de valeurs.

La boucle foreach utilise ensuite l'objet générateur pour itérer sur la séquence de valeurs renvoyée par myGenerator(). Chaque fois que la boucle s'exécute, le générateur produit la valeur suivante de la séquence à l'aide du mot clé yield.


console
The output of the code will be: "Hello World !".

Les générateurs peuvent être utiles pour travailler avec de grands ensembles de données ou effectuer des calculs complexes qui consommeraient autrement beaucoup de mémoire ou de puissance de traitement. En générant des valeurs à la volée au lieu de toutes en une fois, les générateurs peuvent vous aider à écrire du code PHP plus efficace et évolutif.

Pratique

Quelle est la fonction du mot clé 'yield' en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.