使えそうだなーっていうPearライブラリは即インストールして使っているんだけど、都合によりサーバ移動しようとしたら、どれがどの機能で使っているライブラリか分からなくなっている。
わかんないからちょっと調べて、いまインストールされているライブラリの機能を洗い出して見る。
依存関係でインストールしたライブラリもあるので、二分して説明する。
使えるライブラリ
Auth
ユーザ認証用のライブラリ。ベーシック認証から、フォームを使った認証までいろんな認証を使える。使うまでの設定がちょっと手間だが使いこなせると楽チン。
PEAR::Auth ユーザー認証 - PHP::PEAR - dozo PukiWiki
Cache_Lite
キャッシュを作成して、ページの表示を高速化してくれる。ちょっと使ってみたかったけど、自前のサイトで高速化の必要が無かったために放置。
PEAR::Cache_Lite - PHP::PEAR - dozo PukiWiki
- バイナリファイルのキャッシング。
- キャッシュデータの階層保存。
- ガーベージコレクション。
- ファイルのロック。
こんな機能があるのか。。ちょっと弄って見たくなった。
File_Archive
これはすごい便利。ファイル圧縮解凍関連をサポートしてるライブラリ。かなり多数の圧縮形式に対応している。ディレクトリをZipで圧縮してダウンロードとか、ファイルをメールに添付して送信などの機能を備える。
http://poocl.la-grotte.org/index.php
公式ホームページは英語だけど、Examplesなどにサンプルが多数あるので、そこを一番参照してればなんとかなる。
HTML_QuickForm
フォーム処理をサポートしてくれるクラス。Pearの中では一番使っているかもしれない。
フォームを生成し、入力値を検証して、エラーが無ければ処理を実行というような流れでスクリプトを作れる。記述にクセがあるが使いこなせたら全部これで作りたくなる。
QuickFormをオーバライドしてフォームの処理をクラスにしたら、それ以外の処理とは完全に分離できる。
あと、レンダリングエンジンにSmartyが使えるのでそちらを推奨。デフォルトのレンダリングではデザインをいじる余地が無いので。。
QuickFormとSmartyの連携[Pear::QuickForm] - bnote
HTML_QuickForm_Controller
QuickFormの強化版。複数ページに渡るウィザードページの生成をサポート。イベントハンドラを使ったMVCな処理を作成できる。
http://www.okushin.co.jp/information/tanuki08/index.php
QuickForm_Controllerを使えば、Ethna,symfonyみたいなフレームワークを使わなくてもある程度の規模のシステムまではサポートできると思う。
Pager
ページ処理をサポートしてくれるライブラリ。何気に高機能。
http://www.ironhearts.com/diary/archives/001203.html
自前でページ処理を書くよりはこのライブラリに任せていた方が確実
http://applesy16g.sakura.ne.jp/2006/02/pearpagersmarty.php
Smartyも使えば、デザインも自由自在。
Spreadsheet_Excel_Writer
PHP上でデータをエクセルファイルにして、ダウンロードさせることができます。エクセルの細かいフォーマットまでいじれるので簡単な帳票ぐらいは出力できます。
http://www.doyouphp.jp/sample/sample_ora_excel_pear.shtml
文字コードがsjisということにさえ気をつければ、さっくりとエクセルファイルが出力できます。
こまかい部分まで指定できるので本家マニュアルを読みながら作成するといいと思います。
使えないライブラリ、依存関係でインストールしたライブラリ
Archive_Tar
tarとかtar.gzを使うライブラリ。Pearをインストールする際に同時にインストールされる。
http://script.dot-wired.org/docs/index.php?page=php%2Fpear%2FArchive_Tar
Console_Getopt
PHPをコマンドライン上で使うとき、引数を実行できるようにしてくれる。あまり使わない。
http://pear.php.net/manual/ja/package.console.console-getopt.php
DB
DNSを使ったDB接続のサポート。mysql_connectで全部済ませているから使ったことが無い。MDBに取って代わられた過去の産物らしい。
楽天が運営するポータルサイト : 【インフォシーク】Infoseek
HTML_AJAX
PHPでAJAXのレンダリングをサポートしてくれるライブラリ。
HTML_Ajax PHP用Ajaxフレームワーク - PHP::PEAR - dozo PukiWiki
はっきり言ってあんまり使えなかった。自分のスキルが足りないせいかもしれないけど。。
AJAX関連はSmarty+prototype.jsで全部コーディングしてる。自分はそっちが楽。
HTML_Common
HTML系ライブラリのベースクラス。他のライブラリを入れるときの依存でインストール。
使わない。独自でライブラリを開発している人以外は触らないと思う。
バグフィックスバージョンでHTML_Common2が出ているらしいのでそちらに移行するべきかな?
Mail_Mime
MIMEの変換を管理。これも他ライブラリの依存関係。File_Archiveの依存関係で導入した。
PEAR :: Mail_Mime Mime変換、マルチパートメール作成 - PHP::PEAR - dozo PukiWiki
添付メールで画像とか使う人は必要かも。
DB_Object
DB系ライブラリでは最強かも。iniファイルにSQL文を指定しておくことで、いろいろと用意された関数を使ってデータを取り出せる。設定がやや面倒。
http://www.townmedia.org/tips/PEAR/DB_DataObject.html#sid_1-1
PHPUnit
JavaのJUnitのようなユニットテストを、PHPで実現。XPプログラミングやりたい人には必須かも。
http://www.doyouphp.jp/tips/tips_phpunit.shtml
http://www.m-takagi.org/docs/php/pocket_guide/2.3/ja/index.html
まぁ結局最後は
http://page2.xrea.jp/p2pear/index.php
みたいなライブラリの詰め合わせセットを使うのも手かもしれない。
自分は必要ないものを入れなくないので遠慮するけど。