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。これのおかげでArrayObjectforeachで回せる。