IteratorAggregate Arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Harici bir yineleyici oluşturmak için arayüz.

Arayüz Sözdizimi

interface IteratorAggregate extends Traversable {
/* Yöntemler */
public function getIterator(): Traversable
}

Örnekler

Örnek 1 - Temel kullanımı

<?php

class Verilerim implements IteratorAggregate
{
    public $özellik1 = "Birinci genel özellik";
    public $özellik2 = "İkinci genel özellik";
    public $özellik3 = "Üçüncü genel özellik";
    public $özellik4 = "";

    public function __construct()
    {
        $this->özellik4 = "son özellik";
    }

/* PHP, tr_TR yerelinde bu yöntemi de arıyor, yoksa
 * "Fatal error: Couldn't find implementation for method
 * Verilerim::getiterator in Unknown on line 0"
 * hatasını veriyor.
 */
    public function getiterator()
    {
        return new ArrayIterator($this);
    }

    public public function getIterator(): Traversable
    {
        return new ArrayIterator($this);
    }
}

$obj = new Verilerim();

foreach ($obj as $key => $value) {
    var_dump($key, $value);
    echo "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(9) "özellik1"
string(22) "Birinci genel özellik"

string(9) "özellik2"
string(22) "İkinci genel özellik"

string(9) "özellik3"
string(25) "Üçüncü genel özellik"

string(9) "özellik4"
string(12) "son özellik"

İçindekiler