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 */
}

Ö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