« 1862年、リンカーン大統領演説のエモチコン(絵文字)が世界初? | メイン | gmailのボタンデザインが変わった »
2009年01月29日
Twitto: PHP5.3専用最小新フレームワーク
Twittoは、PHPフレームワークsymfonyの中心人物Fabien Potencierさんが(冗談で)作った、新フレームワークだ。
実アプリに決して使わないこと!!!
フレームワークのコードは、twitterの一メッセージに収まるように、140文字以内で書かれている。(twitterでつぶやきたければ改行を取ればいい)
require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c();
サイズ以外の特徴は、デフォルトコントローラのサポート、E_STRICT(PHP5から導入された、より厳しいエラーチェック)に完全対応、存在しないコントローラへのアクセスでちゃんとエラーを出すこと、などだ。
同じフォルダに置いたc.phpにコントローラ関数を定義すれば、パラメータ経由でそのコントローラが呼び出される。
ジョークではあるけど、「PHP5.3専用」とあるだけあって、PHP5.3で新しく入った機能を活用している。
一つは新しい定数 __DIR__ の利用。これは、従来 dirname(__FILE__) と書いていたものを、より簡単に書けるPHP5.3からの機能。
二つ目は新演算子"?:"の利用。これは、この演算子の左右にある二つの式について、空じゃない方を採用するという演算子。上記フレームワーク内では、$cが空だったら右が評価されるのでデフォルトコントローラが呼ばれる。
また、デフォルトコントローラはPHP5.3の無名関数(anonymous function)を使っている。
投稿者 秋元 : 2009年01月29日 11:40
トラックバック
このエントリーのトラックバックURL:
http://labs.cybozu.co.jp/cgi-bin/mt-admin/mt-tbp.cgi/2123