Belajar PHP OOP Part 1.29 : Generator

generator

  • Sebelumnya kita tahu bahwa untuk membuat object yang bisa di iterasi, kita menggunakan Iterator
  • Namun pembuatan iterator secara manual sangatlah ribe
  • Untungnya di PHP, terdapat fitur generator, yang kita bisa kita gunakan untuk membuat Iterator secara otomatis hanya dengan  menggunakan kata kunci yield

Sebelum Menggunakan Generator (Yield)

<?php

function getGenap(int $max): Iterator
{
    $array = [];
    for($i = 1; $i<= $max; $i++){
        if ($i % 2 == 0) {
            $array[] = $i;
        }
    }
    return new ArrayIterator($array);
}

foreach (getGenap(100) as $value){
    echo "Genap : $value" . PHP_EOL;
}

sebelum menggunakan generator/yield

Sesudah Menggunakan Generator/ Yield

function getGanjil(int $max): Iterator
{
    for($i = 1; $i<= $max; $i++) {
        if ($i % 2 == 1) {
            yield $i;
        }
    }
}

foreach (getGanjil(100) as $value){
    echo "Ganjil : $value" . PHP_EOL;
}

menggunakan generator/ yield

Next Post Previous Post
No Comment
Add Comment
comment url