SPL
Standard PHP Library
PHPが標準で提供してるクラス群
インタフェース
Iterator
foreachで使えるようになる。
でも実装すんのだるい。配列風味だったらArrayObject継承した方が早い。
current ()
key ()
next ()
rewind ()
valid ()
IteratorAggregate
Iteratorを返すgetIterator()を実装する。これもforeachで使える
ArrayAccess
$hoge['moge']みたいな配列風アクセスができるようになる。
今まで配列だったのをオブジェクトにできたりして便利。実装も簡単
offsetExists ($offset)
offsetGet ($offset)
offsetSet ($offset, $value)
offsetUnset ($offset)
Countable
count()に与えると数えることができる。count()を実装するだけ。
いるのか?
クラス
ArrayObject
IteratorAggregate, ArrayAccess, Countableを実装したクラス。配列の代わりに使える。
ArrayIterator
ArrayObjectが返すIterator。これのおかげでArrayObjectがforeachで回せる。