PHP エクステンションで、PHP に欲しい機能を追加する
|ご存知の方も多いと思いますが PHP ではエクステンションという仕組みがあり、ベースとなる PHP の機能を拡張する仕組みが備わっています。
例えば、MySQL へのアクセスや LDAP のアクセスなどは、それぞれ php_mysql や php_ldap というエクステンションを有効にすることにより、それらにアクセスするための便利な関数群を利用可能となります。
Windows 上で言えば、PHP エクステンションは C 言語で実装された DLL です。 C 言語で実装できるので、Windows の API を利用するのも簡単です。
私は今回、Windows 上で Active Directory を利用した認証を行うに当り、 PHP 上の LDAP から直接 AD にアクセスするか、あるいは IIS マシンの LSA 経由で認証するか、どちらが良いか検討したいと思い、PHP のカスタムエクステンションを利用しようと考えました。
今のところ、PHP エクステンションの簡単な実装方法、引数の渡し方、そして戻り値の返し方を調べました。
これで認証の実験が行えそうです。