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
¿Cuál es el uso principal de la sentencia 'yield from' en PHP?