131个字符的php framework

网络整理 - 07-27
   

  在friendfeed上看到这个链接 —— The 140 Characters Webapp Challenge!,这个比赛要求用140个字符的代码造就一个web应用。

  里头有36个程序可供投票,基本上全是脚本语言大杂烩:php,perl,ruby,javascript。实现的应用也是五花八门,有相册,类twitter,小游戏,甚至还有php代码框架?摘录如下:

  require __DIR__.'/c.php';

  if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))

  throw new Exception('Error');

  $c();

  这段代码利用了php5.3的一些新特性:

  __DIR__

  Anonymous functions

  ?:运算符

  代码只有131个字符,由于代码极为简陋,安全性也是没得保障的,只能算一个程序的统一入口罢了。

  如果用php 5.2来写这段代码,大概就是:

  require dirname(__FILE__).'/c.php';

  if (!is_callable($c = @$_GET['c'] ? $_GET['c'] : create_function('', "echo 'Woah!';")))

  throw new Exception('Error');

  $c();

  如果要让这段代码变得实用点,可以在$c前面加上一个前缀,这样安全性会有进一步提升,代码也会相应的增加若干字节。