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>>