phpその1(DEC) > phpその2(DEC)> php10days

第9日 PHP標準ライブラリPEAR

1時限目:PEAR::DBでデータベースサーバの違いを意識しない
2時限目:PEAR::Authでセキュアなアプリケーシヨンを実現
PEARは、PHPスクリプトをベースとしたPHP標準のライブラリです。
PEARでは、実にさまざまな機能を提供していますが、その中でも特に代表的なPEAR::DB、PEAR::Authをとりあげます。
PEAR::DBは「データベース抽象化レイヤー」と呼ばれるデータベースアクセス用の共通インターフェースです。PEAR::DBを利用することで、利用するデータベースを意識する必要がなくなりますので、コードの再利用性を向上することができます。PEAR::Authは「フォーム認証」をサイトに実装するための手段を提供します。

◆◆◆◆DEC教材による動作確認◆◆◆◆

★練習問題★

(php9_1) time001.php time001.php.html(ソース)
time002.php time002.php.html(ソース)
time003.php time003.php.html(ソース)
time004.php time004.php.html(ソース)
time005.php time005.php.html(ソース)
time000_1.php time000_1.php.html(ソース)
php9_4 getdate001.php getdate001.php.html(ソース)
php9_4 getdate002.php getdate002.php.html(ソース)
php9_5 localtime001.php localtime001.php.html(ソース)
php9_5 localtime002.php localtime002.php.html(ソース)

◆◆◆◆まとめ(1時限目)◆◆◆◆

●PEAR::DBは「抽象化レイヤ」と呼ばれるインタフエースで、データベースによる仕様差を吸収し、アプリケーシヨンから統一された手順でデータベースを操作することを可能にします。
●プリペアド・ステートメントを利用することで、命令の実行効率を向上できる、パラメータのエスケープ処理を自動化できる、などメリットがあります。
●PEAR::DB上で動的にSQL命令を生成する場合には、原則として「プレスホルダ」を利用すべきです。
●出力データをクライアントにダウンロードさせるためには、コンテンツタイプとして「application/octet-stream」を、また、content-Dispositionヘッダをセットします。

◆◆◆◆まとめ(2時限目)◆◆◆◆

●PEAR::Authライブラリを利用することで、フォーム認証を実現できます。フォーム認証では、自由なレイアウトでログインページを設定できるのが特徴です。
●PEAR-Authでは、ユーザ情報をファイルの他、データベースやLDAP経由で取得することができます。
●外部ファイルをアプリケーション共通でインクルードするには、auto_prepend_fileパラメータを利用すると便利です。
●.htaccessファイルを利用することで、ディレクトリ単位にパラメータを設定することができます。
●.htaccessファイルでパラメータを設定する場合には、(1)httpd.confのAllowOverrideディレクトリがAllである、(2).htaccessで設定可能なパラメータであることを確認してください。