Middle
Como funciona um gerador em PHP?
sobes.tech IA
Resposta da IA
Um gerador é uma função que devolve um iterador. Permite percorrer um conjunto de dados sem carregar toda a matriz na memória, usando a palavra-chave yield. A cada chamada de yield, a execução da função é suspensa, um valor é devolvido e o estado da função é preservado. Na próxima chamada a next(), a execução do iterador continua de onde parou.
<?php
function numberGenerator($limit) {
for ($i = 1; $i <= $limit; $i++) {
yield $i; // Suspende a execução e devolve o valor
}
}
$numbers = numberGenerator(5);
foreach ($numbers as $number) {
echo $number . " "; // Mostra: 1 2 3 4 5
}
?>
Vantagens:
- Economia de memória: Permite processar grandes volumes de dados sem carregá-los completamente na memória.
- Carregamento preguiçoso: Os valores são gerados sob demanda, quando necessários.
- Melhoria de desempenho para certas tarefas, como leitura de grandes ficheiros.