PEARとは、PerlのCPANのようなライブラリ群です。よく使われるクラスを集めたものです。
c:/php/pearの中に入ってます。(Linuxならばsrc/php-4.0.*/pear/)
インストール方法はWindowsならばphp.iniを次のように書き換えます。
include_path = ".;c:\php\includes;c:\php\pear;"
Linuxの場合は
PHPインストール時に pear ディレクトリ内のファイルが/usr/local/lib/phpにコピーされるようです。
尚、この文章は管理人の推測で書かれています。間違いがあるかも
ベンチマーク取ってみたいと思ったことはありますか?そんな時には「Benchmark/Timer」クラスです。
<?php require_once "Benchmark/Timer.php"; //クラスのロード $timer = new Benchmark_Timer; //インスタンスの生成 $timer->start(); //ベンチスタート for($i=0;$i<30000;$i++){} //計測したいPHP文 $timer->setMarker('Marker 1'); //マーキング(ラップ) while($j<30000){$j++;} //計測したいPHP文2 $timer->stop(); //ベンチストップ $profile = $timer->getProfiling(); //結果を連想配列に格納 echo "Total " . $profile[2][total]; //Stopまでの合計秒 //echo "<pre>".print_r($profile)."</pre>"; echo $profile[1][name] ."=". $profile[1][diff]."<br>";//Marker1まで ?>
途中経過を測るときはマーキングを置けます。Timer::getProfilingで結果が連想配列として取得できます。
$profiling[x]['name'] = マーカー名(0なら'Start')
$profiling[x]['time'] = そのマーカーのUnixTime
$profiling[x]['diff'] = 前のマーカーからこのマーカーまでの実行時間
$profiling[x]['total'] = このマーカーまでの合計実行時間
StartとStopだけならば$profiling[1][total]が合計実行時間となります。
ベンチマークを取るクラスはもう一つあります。関数の実行時間を測る「Benchmark/Iterate」クラスです。
<?php require_once "Benchmark/Iterate.php"; $bench = new Benchmark_Iterate; function my_print($string) { print $string."<br>"; } $bench->run(100, 'my_print', 'test'); $result = $bench->get(); echo $result[mean]; ?>
このサンプルでは「my_print」という関数にtestという文字を100回繰り返し送ります。
結果はget()で配列に入り、$result['mean']に100回の平均実行時間が入ります。
通常、画像ファイルのサイズやタイプを知るには getimagesize() 関数ですが、 ネット上にあるリモートの画像サイズを得るのが「Image/Remote」クラスです
<?php require_once "Image/Remote.php"; $i = new Image_Remote("http://php.s3.to/g/100.gif");//URL指定 $data = $i->getImageSize(); echo "width=$data[0] height=$data[1] type=$data[2] src=$data[3]"; ?>
Image::getImageSizeで返ってくる配列は、通常のgetImageSize()関数と同じです。
追記:PHP4.0.5からは<?php $size = GetImageSize ("http://www.php.net/gifs/logo.gif"); ?>とURLが使えるようです
CPUに余裕がある場合、HTMLページを圧縮して転送することで高速にブラウジングが出来ます。 データ量が多い時や従量制課金の鯖などに有効です。尚インストールで--with-zlibがないと使えません
<?php require_once "HTTP/Compress.php"; $http = new HTTP_Compress; $http->start(); ?> <html> <body> <p>あっしゅくー </html> </body> <?php $http->output(); ?>
いちいち<input type=text name=?? と書かなくてもフォームのHTMLを生成してくれるのがHTML/Form.phpです。 しかもテーブルまで作ってくれます。うまく使いこなせば楽かも・・
<?php //現在はHTML_Form.phpになってます require_once "HTML/Form.php"; // action先,method(空ならGET),name,target $f = new HTML_Form("post.php", "POST"); // テキストボックス name=???,タイトル,デフォ値,[幅(空なら20)] $f->addText("name", "名前", ""); $f->addText("email", "E-Mail", "", 30); // パスワードテキスト name=???,タイトル,デフォ値,[幅] $f->addPassword("pwd", "パス", "", 8); // チェックボックス name=???,タイトル,デフォ値 $f->addCheckbox("cookie", "Cookie", 1); // テキストエリア name=???,タイトル,デフォ値,[幅,高さ] $f->addTextarea("com", "コメント", "", 40, 5); // セレクトボックス name=???,タイトル,エントリー,
[デフォ値,幅=1,ブランク値,マルチならTRUE,属性] $f->addSelect("color", "色", array("赤","青","黄","緑"), 2, 1,"-色-"); // ヒデゥン name=???,value $f->addHidden("mode", "regist"); // Submitボタン [name=???(空ならsubmit)タイトル(空ならSubmit Changes)] $f->addSubmit("submit", " 投稿する "); // Resetボタン [タイトル(空ならDiscard Changes)] $f->addReset("リセット"); // 最後にディスプレイ $f->display(); ?>
2通りの方法が使えるようですが、こちらが簡単な方です
[出力結果] [HTMLソース]
PHP4.3.0からはPEARは最小限インストールしかされません
最新PEARは、http://cvs.php.net/cvs.php/pear/から
または pear install モジュール名でインストールできます。
■PEAR関連サイト
・PEARリンク(チュートリアル)
・PHP kitchen(チュートリアル)
・PEAR解説
・PEAR本家(日本語マニュアル有) ミラー
・2chスレ
・2ch PEAR Wiki
・PEARを使ったDB接続(PHP-j)
・PEAR-ML
・PEAR api docs
・HTML QucikFrom入門
$logfile="peartt";include("short.php");?> |
<<Prev Next>>