当前位置:  软件>php软件

PHP的XML模板引擎扩展 XHP

    来源:    发布时间:2014-12-28

    本文导语:  Facebook则低调发布了XHP项目。这是一个多月以来,继 HipHop之后,Facebook推出的又一重要PHP改进项目。看来,在社会化网络市场地位稳固之后,Facebook也开始大力回馈技术社区,在口 碑和攒人品方面与Google展开竞争了。 根据Githu...

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

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

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

?php
$href = 'http://www.facebook.com';
echo a href=/tech-soft-php/{$href}Facebook/a_/pre/index.html>

注意第三行代码中的语法,其中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工具,比其他语言类似的东西都好。记号完美代表了对象,不用折腾面向对象编程那些烂东西了,这可是非常罕见的宝贝。


    
 
 

您可能感兴趣的文章:

  • php安装完成后如何添加mysql扩展
  • PHP扩展 HTTP extension for PHP
  • CentOS下PHP安装完成后继续安装GD扩展库
  • PHP 扩展模块 PECL
  • PHP的开源扩展 WinBinder
  • IIS上的PHP扩展 FastCGI Extension
  • 中文分词PHP扩展 MFSOU
  • php扩展模块开发
  • 检测XSS漏洞的扩展 PHP Taint
  • PHP 的协程扩展 ptask
  • PHP扩展实现的框架 ZoeeyPHP
  • Eclipse的PHP插件扩展 oPDT
  • 怎样使RedHat8中的PHP添加MySql扩展?
  • PHP扩展模块 Opdumper
  • PHP 的扩展 Fast Assert
  • PHP 扩展安装器 Pickle
  • PHP exif扩展方法开启详解
  • PHP扩展报错[error: ‘PHP_FE_END’ undeclared here (not in a function)]
  • PHP 的扩展 Augmented Types
  • PHP 的 C 扩展 Zephir
  • PHP 的 API 扩展 Carbon2
  • PHP模板引擎 费尔模板引擎
  • PHP模板引擎 PHP-Mesh
  • 费尔PHP模板引擎
  • PHP模板引擎 PUREPHP
  • PHP模板引擎 Blitz templates
  • PHP模板语言 Twig
  • PHP模板引擎 phemplate
  • PHP模板引擎 Template Lite
  • PHP模板引擎 FXL Template
  • PHP模板引擎 TinyButStrong
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP 模版引擎 h2o-php
  • PHP 验证引擎 PHP Validation
  • PHP搜索引擎 Yioop!
  • PHP的Web爬虫和搜索引擎 PhpDig
  • Resin的PHP5引擎 Quercus
  • PHP开发引擎 EvaEngine
  • PHP模版引擎 AbsTemplate
  • PHP的Wiki引擎 Wikiwig
  • V8引擎的PHP扩展 v8js
  • PHP模板引擎 RTemplate
  • PHP搜索引擎 SimpleSearch
  • PHP的wiki引擎 PmWiki
  • php记录搜索引擎进网站的关键词
  • PHP5 模板引擎 Shine
  • 高性能远程对象服务引擎 Hprose for PHP
  • PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
  • 高性能远程对象服务引擎 Hprose for PHP-CPP
  • PHP模板引擎 Stitch
  • PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
  • 使用php记录用户通过搜索引擎进网站的关键词
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3