<?php

/* PHP 8+ returntype... */

class Record implements IteratorAggregate {
    private $data = [];

    public function addRecord($value) {
        $this->data[] = $value;
    }

    #[\ReturnTypeWillChange]
    public function getIterator() {
        return new ArrayIterator($this->data);
    }
}

// Vytvoření instance třídy
$recordKeeper = new Record();

// Přidání záznamů
$recordKeeper->addRecord("John");
$recordKeeper->addRecord(30);
$recordKeeper->addRecord("New York");

// Použití cyklu foreach na třídě Record
echo "All records:<br>";
foreach ($recordKeeper as $record) {
    echo $record . "<br>";
}