Net_LDAP は、Perl の Net::LDAP パッケージを移植したものです。 PEAR Net_LDAP は PHP 用のパッケージで、 Perl の Net::LDAP の大半のメソッドを実装しています。 Net_LDAP を使用すると、ディレクトリサーバに格納されているデータの 問い合わせや操作が PHP でオブジェクト指向風にできるようになります。 ディレクトリサーバとはデータを階層化して管理するデータベースサーバのことで、 通常は LDAP プロトコルで問い合わせを行います。
次の表は、Net_LDAP の各クラスの簡単な紹介と使用法をまとめたものです。 各クラス間の関連についても説明しています。
表 54-1Net_LDAP のクラス
クラス名 | 説明 |
---|---|
Net_LDAP | メインクラスです。 LDAP サーバへの接続とバインド、 そして検索や更新をするための LDAP クエリの発行を担当します。 一般的には LDAP フィルタを用いた検索を行い、結果を Net_LDAP_Search オブジェクトとして取得します。 エントリを直接取得した場合は、その結果は Net_LDAP_Entry オブジェクトとなります。 |
Net_LDAP_Search | 検索クエリの結果として返されるのが、 このクラスのオブジェクトです。 このオブジェクトを使用して、検索結果に関する情報 (たとえばフィルタに一致したエントリの総数など) を取得します。見つかったエントリは Net_LDAP_Entry オブジェクトとしてさまざまな形式で取得することができます (並べ替えたり、先頭や最後から 1 件ずつ取得したりなど)。 |
Net_LDAP_Entry | このクラスのオブジェクトは、 手動で新たに作成する場合もあれば LDAP 検索クエリの結果として受け取ることもあります。 あるいはエントリを直接取得した際にも用いられます。 これを使用すると、そのオブジェクトの性質を表す エントリの属性の読み書きができるようになります。 |
Net_LDAP_Util | 静的メソッドのみを持つユーティリティクラスです。 このクラスのインスタンスを作成する必要はありません。 この中には便利なメソッドがあります。 Net_LDAP が内部的に使用しているものもありますが、 外部からも同じように使うことができます。 定義されているメソッドの多くは、 エスケープ関連のものです。 LDAP ではいくつかの文字を特殊文字として扱うため、 適切なエスケープが必要となるからです。 |
Net_LDAP_Filter | お好みの LDAP フィルタを、 Net_LDAP->search() メソッドで指定することができます。しかし、これには問題もあります (エスケープ漏れの問題など)。 そこで、Net_LDAP_Filter クラスを使えば簡単にフィルタを作成することができます。 LDAP フィルタについては、別途 LDAP フィルタ で説明します。 |
Net_LDAP_Error | エラークラスです。Net_LDAP のほとんどのメソッドは、 何か問題が発生した場合にこのクラスのオブジェクトを返します。 このオブジェクトを使用すると、エラーの内容や 何がまずかったのかといった情報を取得することができます。 詳細は エラー処理 を参照ください。 |
Net_LDAP_LDIF | LDIF ファイルは可読形式のテキストファイルで、 ディレクトリのデータやその変更コマンドなどが記載されています。 ちょうど SQL ファイルのようなものです。SQL ファイルとは異なり、 アクション中心ではなくデータ中心の構造となっています。 Net_LDAP_LDIF を使用すると、 Net_LDAP_Entry オブジェクトと LDIF ファイルとの相互変換ができるようになります。 Net_LDAP_LDIF のエラー処理は少々異なる点があることに注意しましょう。 のちほど説明します。 |