Standard PHP Library(SPL) ArrayIterator&ArrayObjectクラス編
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL) ArrayIterator&ArrayObjectクラス編」を公開しました
長々と講釈をたれてきましたIteratorもそろそろここで一段落です。今しばらくおつきあいをいただければと思いますのでよろしくお願いいたします。
さて。11回から14回までの実に4回を使って
foreachでクラスインスタンスを扱う事ができること
Iteratorインターフェイスによって「どのデータをどんな順番で扱うか」を実装出来る事
IteratorAggregateインターフェイスによって「データの塊」と「反復処理」を別々のクラスに分けて実装出来る事
を学んできました。
いやまぁ出来るってのは確かに有難いのですが現実問題として「これを毎回実装するか?」と問われると色々と躊躇が入ります。
で、そこで躊躇せずに済むのはPHPの有難いところです。
具体的には、14章で作ったdataArrayクラスとmyIteratorクラス、あれをもうちょっとしっかりとがっつりと便利にこってりと実装したクラスがすでに存在します。
データの塊を扱える「PHPですでに提供されている」dataArrayクラスをもっと便利にしたクラスをArrayObjectクラスと言います。
また同様に、反復処理を扱える「PHPですでに提供されている」myIteratorクラスをもっと便利にしたクラスをArrayIteratorクラスと言います。
ArrayObjectクラスはコラム10回目の最後で少しだけ出てきましたね。ここで、話がつながります(笑
では。14章のコードと等価なものを、ArrayObjectクラス&ArrayIteratorクラスで実装してみましょう。
この続きは以下をご覧ください
http://resocia.jp/column/311/
ソーシャルもやってます!