###
長々と講釈をたれてきましたIteratorもそろそろここで一段落です。今しばらくおつきあいをいただければと思いますのでよろしくお願いいたします。
さて。11回から14回までの実に4回を使って
foreachでクラスインスタンスを扱う事ができること
Iteratorインターフェイスによって「どのデータをどんな順番で扱うか」を実装出来る事
IteratorAggregateインターフェイスによって「データの塊」と「反復処理」を別々のクラスに分けて実装出来る事
を学んできました。
いやまぁ出来るってのは確かに有難いのですが現実問題として「これを毎回実装するか?」と問われると色々と躊躇が入ります。
で、そこで躊躇せずに済むのはPHPの有難いところです。
具体的には、14章で作ったdataArrayクラスとmyIteratorクラス、あれをもうちょっとしっかりとがっつりと便利にこってりと実装したクラスがすでに存在します。
データの塊を扱える「PHPですでに提供されている」dataArrayクラスをもっと便利にしたクラスをArrayObjectクラスと言います。
また同様に、反復処理を扱える「PHPですでに提供されている」myIteratorクラスをもっと便利にしたクラスをArrayIteratorクラスと言います。
ArrayObjectクラスはコラム10回目の最後で少しだけ出てきましたね。ここで、話がつながります(笑
では。14章のコードと等価なものを、ArrayObjectクラス&ArrayIteratorクラスで実装してみましょう。
この続きは以下をご覧ください
リンク
御社のプレスリリース・イベント情報を登録するには、ZDNet Japan企業情報センターサービスへのお申し込みをいただく必要がございます。詳しくは以下のページをご覧ください。