Sobes.tech
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.