« 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

 
mg src="http://img.awasete.com/image.phtml?u=http%3A%2F%2Flabs.cybozu.co.jp%2Fblog%2Fakky%2F" width="160" height="140" alt="あわせて読みたい" border="0">

著書

PHPxWebServiceAPIConnections.jpg

プロフィール

週三日勤務で、残りは個人で活動しています