msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

16 Jul 10 Facebook发布又一PHP改进项目XHP

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

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

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

<?php
rquire "xphsrc/php-lib/init.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工具,比其他语言类似的东西都好。记号完美代表了对象,不用折腾面向对象编程那些烂东西了,这可是非常罕见的宝贝。


分享到:



Random Posts:

10 Responses to “Facebook发布又一PHP改进项目XHP”

  1. xi |

    PHP的意义在于可以折腾,比起其他脚本语言,
    容易折腾到更底层,从底层折腾的好处就是,有不满,可以自己做库,不需要官方支持。

    所以底层知识是一定要掌握的,这样就好自己折腾了

  2. China Suppliers |

    PHP被应用得越来越广泛了。以前我只看到了大多数人开始倾向用PHP来做网站,现在SNS的应用也开始使用PHP了。

  3. wclssdn |

    我怎么感觉模板框架是为了分工而使用的呢- –

    美工直接修改模板文件而不必理会PHP代码..

    要是按照上边所说的… 内个. php程序员无敌了..

  4. 修愚 |

    路过,学习

  5. xinqiyang |

    这样有个好处就是落花了模板引擎的了…….

    关注下呵呵

  6. Tweets that mention Facebook发布又一PHP改进项目XHP | 风雪之隅 -- Topsy.com |

    [...] This post was mentioned on Twitter by 大房 and Jason Yu, Angus Li. Angus Li said: Facebook发布又一PHP改进项目XHP http://ff.im/-nNZx8 [...]

  7. 雪候鸟 |

    @liruqi 还能做标签配对检查, 输出转义,,,,,

  8. bpzc |

    热切关注中~~~

  9. lake |

    又有得折腾了,也证明了php持续在受到关注。

  10. liruqi |

    赞, 这东西可以直接替代smarty框架了.

Leave a Reply

*