Standard PHP Library(SPL)について
ヒューマンリソシア株式会社はコラム「Standard PHP Library(SPL)について」を公開しました。
SPLは、読んで文字の通り「PHP用の標準的なライブラリ」です。もう少し正確に書くと「PHP用の標準的な”クラス”ライブラリ」になります(厳密には一部例外がありますが、ほとんどがクラスになります)。
PHPの標準関数は当然ながら「関数」なのですが、SPLは「クラス」の形で提供されているのが最大の違いですね。
SPLはPHP 5.0.0以降「デフォルトでインストールされている」ほか、PHP 5.3.0以降は「無効化できない」エクステンションになりますので、よほど何か無い限りは「普通使える」と思ってよいでしょう。
ただ、PHPの常で「バージョンによってエクステンションが増えている」ので、逆の見方をすると「古いバージョンではまだ実装されていないエクステンション」もあります。実際に使う時は、きちんとバージョン情報を確認しておくとよいでしょう。
大まかに、SPLは以下のカテゴリに分けられます。今回はまず、各カテゴリについて大まかに把握をしておきましょう。
まず「データ構造」というカテゴリがあります。
アルゴリズムと併用して学ぶ「一般的なデータ構造」である、双方向リンクリスト、キュー、スタック、ヒープなどを扱うことができるクラスがここに属します。
次に「イテレータ」というカテゴリがあります。
このカテゴリのクラスを継承して実装すると、「foreachを使ってオブジェクトを配列のように処理できる」など、インタフェース的にわかりやすい実装をすることができます。
お次は「インタフェース」カテゴリです。
これは、PHPの言語機能や関数とうまいこと渡りを付けてくれるためのものですね。
例えば、Countable インターフェイスを継承したクラスは、PHPの標準関数であるcount()関数を使って「要素数」を取得することができます。
「何をもって要素数とするか」は実装次第ですね。
この続きは以下をご覧ください
http://resocia.jp/column/285/
ソーシャルもやってます!