超メモ帳(Web式)@復活

統合失調症を患い、はてなからも逃亡。現在、復活のため準備中。


SPONSORED LINK

Pearまとめ


使えそうだなーっていう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の中では一番使っているかもしれない。

HTML_QuickForm利用の手引き

フォームを生成し、入力値を検証して、エラーが無ければ処理を実行というような流れでスクリプトを作れる。記述にクセがあるが使いこなせたら全部これで作りたくなる。

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ということにさえ気をつければ、さっくりとエクセルファイルが出力できます。

go-pear.org - 

こまかい部分まで指定できるので本家マニュアルを読みながら作成するといいと思います。



使えないライブラリ、依存関係でインストールしたライブラリ

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

PHPAJAXレンダリングをサポートしてくれるライブラリ。

HTML_Ajax PHP用Ajaxフレームワーク - PHP::PEAR - dozo PukiWiki

はっきり言ってあんまり使えなかった。自分のスキルが足りないせいかもしれないけど。。

AJAX関連はSmarty+prototype.jsで全部コーディングしてる。自分はそっちが楽。


HTML_Common

HTML系ライブラリのベースクラス。他のライブラリを入れるときの依存でインストール。

go-pear.org - 

使わない。独自でライブラリを開発している人以外は触らないと思う。
バグフィックスバージョンでHTML_Common2が出ているらしいのでそちらに移行するべきかな?

go-pear.org - 


MIME_Type

MIMEを扱うためのライブラリ。他ライブラリのの依存関係で導入。使わない。

MIME_Type

添付メールのサポート。確かFile_Archiveの依存関係で導入した。


Mail

メールを送信するライブラリ。PHP独自の組み込み関数でメール送信はサポートされているので使わない。File_Archiveの依存関係で導入した。

phpでメール送信[Pear::Mail] - bnote


Mail_Mime

MIMEの変換を管理。これも他ライブラリの依存関係。File_Archiveの依存関係で導入した。

PEAR :: Mail_Mime Mime変換、マルチパートメール作成 - PHP::PEAR - dozo PukiWiki

添付メールで画像とか使う人は必要かも。


OLE

OLEを使うために必要。Spreadsheet_Excel_Writerの依存関係。単独では使わない。

go-pear.org - 




使いたいPearライブラリ

DB_Object

DB系ライブラリでは最強かも。iniファイルにSQL文を指定しておくことで、いろいろと用意された関数を使ってデータを取り出せる。設定がやや面倒。

http://www.townmedia.org/tips/PEAR/DB_DataObject.html#sid_1-1


PHPUnit

JavaJUnitのようなユニットテストを、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

みたいなライブラリの詰め合わせセットを使うのも手かもしれない。

自分は必要ないものを入れなくないので遠慮するけど。

プライバシーポリシー免責事項