上級PHPコラム『Standard PHP Library(SPL) イテレータ編 準備』(PHP上級試験対策)
PHP技術者認定機構の吉政でございます。
PHP技術者認定機構の認定スクールであるヒューマンリソシアが
私が企画した、古庄親方のPHPコラム『Standard PHP Library(SPL) イテレータ編 準備』を公開しています。
このコラムが公開される頃には、納会に入っているのでしょうか?
サラリーマン時代は最終日に大掃除をして、そのあとに納会をして、お疲れ様会で飲んで、帰宅していました。 懐かしいですね。独立した今では、まったくそんなこともなく、仕事か勉強か、家の仕事かのどれかです。
独立したからには誰に頼ることもできなく、腕一本で生きていかねばなりません。そう考えれば、勉強して仕事をし続け、人より多く経験していくのが一番安全です。
皆様は勉強してますか?「PHPの勉強を始めたいと思っています」という方がいらっしゃりましたら、是非以下のコラムも読んでみてください。上級テクニックが書いてあります。
###
今回はSPLのイテレータ…のお話しをしたいのですが、まずその前に「イテレータ」という概念そのものについて少し学んでいきましょう。
イテレータ(Iterator)自体は、比較的あちらこちらのプログラム言語で出てくる概念です。実際、GoFのデザインパターンにもIteratorパターンというのが存在します。
GoFについては…ご存じな方もいらっしゃると思いますが、一方でもしかするとご存じない方もいらっしゃるかもしれないので、簡単に。
GoFはGang of Fourと呼ばれる四人の事を指します。また、デザインパターンとは「オブジェクト指向における再利用のためのデザインパターン(原題 Design Patterns: Elements of Reusable Object-Oriented Software)」というタイトルの、彼らが書いた書籍に由来します。
書籍で出てくる23のデザインパターンが果たして「本当に全てが有用かつ唯一の解なのか?」と問われれば全然そんなことはないのですが、それでも一読して、考察して、一度は実装してみる価値のあるものばかりですので。
もしご存じない方であれば、一度は調べてみてください。
話を戻しまして。
Iterator(パターン)は、基本的には「複数の要素を内包するオブジェクトのすべての要素に順にアクセスする方法を提供する」手段です。
PHPをやっている人に取っては foreach が非常にイメージしやすいのですが、実際にはIteratorはもうちょっと柔軟な概念になります。
(この続きは以下のコラム本文をご覧ください)
http://resocia.jp/column/289/