欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Facebook发布又一PHP改进项目XHP

程序员文章站 2022-04-11 17:34:54
...

就在Google高调发布业界普遍认为针对Facebook的Buzz的同时,Facebook则低调发布了XHP项目。这是一个多月以来,继HipHop之后,Facebook推出的又一重要PHP改进项目。看来,在社会化网络市场地位稳固之后,Facebook也开始大力回馈技术社区,在口碑和攒人品方面

就在Google高调发布业界普遍认为针对Facebook的Buzz的同时,Facebook则低调发布了XHP项目。这是一个多月以来,继HipHop之后,Facebook推出的又一重要PHP改进项目。看来,在社会化网络市场地位稳固之后,Facebook也开始大力回馈技术社区,在口碑和攒人品方面与Google展开竞争了。

根据Github上项目的文档维基,XHP是一个PHP扩展,通过它,开发人员可以直接在PHP代码中内嵌XML文档片段,作为合法的PHP表达式。这样,PHP就成为一个更为严格的模板引擎,大大简化了实现可重用组件的工作。

比如这样的简单代码示例:

?php
$href = 'http://www.facebook.com';
echo a href={$href}Facebook/a

注意第三行代码中的语法,其中echo后的不是字符串。

项目负责人Facebook工程师Marcel Laverdet则表示,XHP不仅使前端代码更容易理解,还有助于防止跨站脚本攻击。事实上,Facebook Lite网站(快速简化版本的Facebook)就是完全用XHP写成的。

和上次HipHop发布一样,PHP之父Rasmus Lerdorf也很快做出回应(),他说:

XHP其实就是支持内嵌XML,这在VB中称为XML元素文本。它增加了一个额外的分析步骤,将内嵌的XML元素映射为PHP类。类的语法有些奇怪。至少对我而言,其中主要有意思的地方,是PHP现在理解要输出的XML了,就可以以上下文敏感的方式进行过滤。

Lerdorf也指出,XHP存在明显的性能问题,它的XML运行时验证显然会增加开销。为此,Facebook不得不使用APC[Alternative PHP Cache]再加上HipHop。

对此,Marcel Laverdet回复:

性能的确是XHP最引人关注的问题。确实,XHP比原始的字符串拼接要慢2到3倍,但是这对大多数程序都不是问题。另外,虽然APC肯定是必需的(大多数网站都是如此),HipHop则不然。其实Lite网站只是到最近才开始切换到HipHop,之前也表现很不错。在实际应用中,XHP对性能影响并不是很大。在简洁和性能之间的权衡上,XHP做得不错。

此外,Wikispaces的创始人James Byers也写到:

对我来说,XHP比HipHop有意思得多。它将完全改变模板还是只用PHP的争论。对此我很高兴。PHP应该继续这样改进。

Tipjoy的联合创始人,现在也在Facebook任工程师的Ivan Kirigin也对XHP赞赏有加:

XHP是我在Facebook唯一使用的PHP工具,比其他语言类似的东西都好。记号完美代表了对象,不用折腾面向对象编程那些烂东西了,这可是非常罕见的宝贝。

【推荐资源】

GitHub上的XHP项目

项目文档维基