131个字符的php framework

  在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前面加上一个前缀,这样安全性会有进一步提升,代码也会相应的增加若干字节。

时间: 2024-11-01 03:27:34

131个字符的php framework的相关文章

ibatis报错,很奇怪,求大神帮忙

问题描述 ibatis报错,很奇怪,求大神帮忙 现在项目中用的是ibatis,第一次接触,这两天一直在报错,都要疯了,请大神帮忙看看吧. 配置如下: resultMap="cpVoucherResultCheckIn" parameterClass="elementCondition"> select master.* from cp_voucher master where master.sum_cp_voucher_id is null and maste

在.NET Framework中轻松处理XML数据(二)

xml|数据 分析属性值 大部分情况下,属性值都是一个简单的文本字符串.然而,这并不意味着实际应用中的属性值都是字符型的.有时候,属性值是由许多种类型的数据组合而成的,例如Date或Boolean,这时,你就要用XmlConvert或System.Convevt类的方法把这些类型转换成原来的类型.XmlConvert和System.Convevt类都能实现数据类型的转换,但是XmlConvert类依据XSD中指定的数据类型进行转换,而不管它现在是什么类型. 假设你有以下的XML数据片

在.NET Framework中轻松处理XML数据(四)

xml|数据 XmlTextWriter类用在本节中的方法创建XML文档显然并不困难.多年以来,开发者都是通过在缓存在连接一些字符串,连接好以后再把缓存中字符串输出到文件的方式来创建XML文档.但是以这种方式创建XML文档的方法只有在你保证字符串中不存在任何细小的错误的时候才有效..NET Framework通过用XMLwriter提供了更好的创建XML文档的方法. XML Writer类以只前(forward-only)的方式输出XML数据到流或者文件中.更重要的是,XML Writ

Zend Framework 的 PHP 编码标准

[摘自 Zend Framework 官方文档]   C.2. PHP File 文件格式   C.2.1.  常规       对于只包含有 PHP 代码的文件,结束标志("?>")是不允许存在的,PHP自身不需要("?>"), 这样做, 可以防止它的末尾的被意外地注入相应.       重要: 由 __HALT_COMPILER() 允许的任意的二进制代码的内容被 Zend Framework 中的 PHP 文件或由它们产生的文件禁止.这个功能的使用

ASP.NET Framework深度历险(3)

asp.net ASP.NET Framework深度历险(3) Author:uestc95ArticleType:原创E-mail:uestc95@263.net.NET Framework Version:1.0.3705正式版VS.NET(C#) Version:7.0.9466正式版     这几天胃口还算好,虽然算不上"吃嘛嘛香",但是也算是不错了,但愿能增上几斤才好.    怎么样,我们在Chapter Two最后提出的两个问题估计早出来了吧,:)    First:为什

PHP开发框架Yii Framework教程(34) Zii组件-AutoComplete示例

CJuiAutoComplete 在用户输入时可以根据用户输入的前几个字符自动提示用户可以输入的文字.它封装了 JUI autocomplete插件. 基本用法如下 <?php $this->widget('zii.widgets.jui.CJuiAutoComplete', array( 'name'=>'city', 'source'=>$data, // additional javascript options for the autocomplete plugin 'op

.NET安全: 使用.NET Framework 2.0在您的应用程序中支持证书

本文讨论: Windows 证书存储区 .NET 中的证书类 验证.SSL.Web 服务和代码 签名 对数据进行签名和加密 本文使用了以下技术: .NET Framework 2.0 证 书在 Microsoft .NET Framework 中应用十分广泛,从安全通信到代码签名再到安全策略..NET Framework 2.0 改进了对证书的支持,为使用证书进行符合标准的加密操作添加了一个全新的命名空间. 在本文中,我将讨论证书和 Windows 证书存储区的背景知识.同时我还会为您介绍证书

实现正则表达式匹配任意字符解析

我们如何实现正则表达式匹配任意字符的效果呢?这个过程需要使用什么呢?具体的操作需要注意那些方面呢?那么现在我们就来揭开这神秘的一面: 实现正则表达式匹配任意字符的真相: 使用"."匹配几乎任意字符.在正则表达式中,"."是最常用的符号之一.不幸的是,它也是最容易被误用的符号之一. "."匹配一个单个的字符而不用关心被匹配的字符是什么.唯一的例外是新行符.在本教程中谈到的引擎,缺省情况下都是不匹配新行符的.因此在缺省情况下,"."

XNA游戏开发之字符篇

摘要: 游戏中开发不同于一般应用程序的开发,它更注重于界面美观,我们需要在游戏界面设计中花费大量的时间以便使它看起来更炫.更酷,当然这其中就少不了游戏中的字符文本,那么如何制作出漂亮的游戏文本呢?今天我们就一起来看一下. 内容: 在XNA中2D文本的绘制方式种类比较多,这有助于我们制作出更美观的文本效果,下面我就逐一来看一下. 一.SpriteFont 这种方式在XNA游戏开发中应该算是最基本的一种形式,使用方法就是在游戏对应的Content项目中添加SpriteFont文件(右键Add-New