W3docs

yield from

The yield from keyword is used in PHP to delegate the generation of values to another generator. This allows you to chain multiple generators together, creating

Introducción

La palabra clave yield from se utiliza en PHP para delegar la generación de valores a otro generador. Esto te permite encadenar varios generadores, creando una especie de tubería (pipeline) que se puede usar para transformar o filtrar datos sobre la marcha.

Ejemplo

A continuación se muestra un ejemplo que demuestra el uso de yield from en PHP:

Ejemplo de yield from en PHP

<?php

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

function myOtherGenerator()
{
  yield "!";
}

function myCombinedGenerator()
{
  yield from myGenerator();
  yield from myOtherGenerator();
}

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

En el ejemplo anterior, tenemos tres funciones generadoras: myGenerator(), myOtherGenerator() y myCombinedGenerator(). Los dos primeros generadores producen cada uno un valor, mientras que el tercer generador delega en los dos primeros utilizando la palabra clave yield from.

Cuando se llama a myCombinedGenerator(), primero devuelve los valores generados por myGenerator(), y luego devuelve los valores generados por myOtherGenerator(). Esto crea una secuencia de tres valores: "Hello", "World" y "!".

El bucle foreach utiliza luego myCombinedGenerator() para iterar sobre la secuencia de valores, produciendo la salida: "Hello World !".

La palabra clave yield from puede ser especialmente útil al trabajar con estructuras de datos anidadas o cuando necesitas realizar una serie de transformaciones en un conjunto de datos. Al encadenar varios generadores, puedes dividir problemas complejos en piezas más simples y manejables, lo que facilita la lectura y el mantenimiento de tu código.

Práctica

Práctica

¿Cuál es el uso principal de la sentencia 'yield from' en PHP?