Speedy HTML Template Utilities 0.1.0

php_speedy-0.1.0.tgz
瓢箪から出た駒というかなんというか、Speedyエクステンション正式リリース。
speedy関数はstdClass以外のオブジェクトもコンテキストとして受け付けるようになり、また、speedy関数の実行によってコンテキストが汚染されなくなりました。ただし、コンテキストが内包するオブジェクトの状態や参照として登録されている変数に関してはその限りではありません。

Speedyとは

Speedyは、テンプレートエンジンではなくHTMLを出力するPHPスクリプトのためのユーティリティです。前に "37 lines of ~" と書いていたのは無かったことにしてください。
htmlspecialcharsなどの非常によく使う関数と等価で名前が短い (タイプ量が少なくなる) 関数、XML宣言を出力する関数、配列またはオブジェクトでローカル変数のシンボルテーブル (スコープ) を指定してPHPスクリプトを実行する関数があります。
アーカイブには拡張モジュールがビルドできないときのために、Pure PHP実装のspeedy.phpも同梱しています。Pure PHP版ではspeedy関数でコンテキストが省略された場合に呼び出し元の変数がインポートできないので、代わりにグローバル変数をインポートするようになっています。

関数一覧

string h(string $str)

htmlspecialchars($str, ENT_QUOTES) と等価。

string b(string $str)

nl2br(htmlspecialchars($str)) と等価。

string u(string $str)

rawurlencode($str) と等価。

string n(float $num[, int $dec[, string $dsep[, string $tsep]]])

number_format($num) と等価。

string a(string $url[, string $txt])

アンカーを生成する。

void d(mixed $var[, mixed ...])

全ての引数をvar_dumpした結果をhtmlspecialcharsにかけ、preタグで囲んで出力する。

void p(string $str)

echo $str と等価。

void ph(string $str)

echo htmlspecialchars($str, ENT_QUOTES) と等価。

void pb(string $str)

echo nl2br(htmlspecialchars($str)) と等価。

void pu(string $str)

echo rawurlencode($str) と等価。

void pn(float $num[, int $dec[, string $dsep[, string $tsep]]])

echo number_format($num) と等価。

void pa(string $url[, string $txt])

アンカーを出力する。

void xmldec([string $encoding[, bool $standalone]])

XML宣言を出力する。

mixed speedy(string $template[, mixed $context])

コンテキストの内容 (省略された場合は呼び出し元のローカル変数) をインポートしてPHPスクリプトを実行する。戻り値は1またはPHPスクリプトがreturnした値。

mixed speedy_ex(mixed $context, string $template1[, string $template2[, string $template3]])

コンテキストの内容 (nullの場合は呼び出し元のローカル変数) をインポートして1~3個のPHPスクリプトを実行する。戻り値は1またはPHPスクリプトがreturnした値。