HHWM简介:

HHWM(HipHop VM) 是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In- Time)编译器,同时具有产生快速代码和即时编译的优点。

HHWM能做什么?

几乎可以做任何事情,HHWM主要专注于服务器端脚本,这样你就可以收集表单数据,生成动态页面内容,或者发送和接收的cookies。除此,HHVM可以做更多的事情。

HHVM脚本主要应用于两大领域:

  • 服务器端脚本。这是HHVM最传统,也是最主要的目标领域。你需要三样东西来完成这项工作。

    • HHVM解析器
    • 一个web服务器
    • 一个web浏览器

你需要运行一个连接HHVM安装的web服务器,你可以通过一个web浏览器访问Hack程序的输出,通过服务器查看Hack页面。所有的这些都可以在你的家用电脑上运行。

  • 命令行脚本。你可以编写一个HHVM命令行脚本,并且不依赖任何服务器或浏览器来运行,唯一需要的是HHVM解析器。这种方法是定期执行脚本或者测试新的库和功能的最佳选择。这些脚本也可以用于简单的文本处理任务。

HHVM完全支持各种Linux操作系统的变种,包括Ubuntu,CentOS的,Debian等等,HHVM也可以安装在Mac OS X, 只在解释模式下运行(无JIT, 正在开发). Windows的支持正在积极开发。对于当今绝大多数web 服务器, HHVM也都有很好的支持,这包括使用FastCGI协议的各种web服务器,如:Apache, lighttpd 和nginx.

使用HHVM,你可以自由的选在一个操作系统和一个web服务器。此外,你还可以使用过程编程或面向对象编程(OOP),或它们两者的混合物的选择。当然,你可以选择使用Hack或PHP作为编程语言。

使用HHVM,你可以不再受限于HTML的输出能力。HHVM的能力不仅局限于此,它还包括输出图片,PDF文件,甚至动态Flash(使用libswf和Ming),当然你也可以非常简便的输出任何文本,例如XHTML和任意XML文件. HHVM可自动生成这些文件,并将其保存到文件系统,而不是直接输出,形成一种动态内容的服务器端的缓存。

HHVM一个最强大,最显著特征就是广泛的数据库支持,可以使用一个特定的数据库扩展来,或使用一个像PDO样的抽象层,或者通过ODBC扩展链接到任何支持开放式数据库链接标准的数据库,编写一个启用数据库功能的网页会是难以置信的简单(例如, mysql)。其他数据库可以利用cURL 或者 sockets.

HHVM也可以通过使用如LDAP, IMAP, HTTP等的协议来提供对其他服务交互的支持。你也可以开放一个Raw Network Sockets ,使用任何其他协议进行交互。HHVM支持在几乎所有的Web编程语言见的WDDX复杂数据的交换。

HHVM具有卓有成效的文本处理功能,包括 perl 兼容的正规表达式(PCRE),以及解析和操作XML文档的多种扩展和工具。HHVM以libxml2为基础标准化了所有XML的扩展,于此同时也扩展了XML功能集,加入了SimpleXML, XMLReader 和XMLWriter的支持。

本文不足以列出HHVM所有的功能和优势。你可以通过阅读Hack 功能参考手册(后续补上)来进一步了解本页提到的扩展。

Facebook HHVM 和 Hack 手册 --- 2. HHVM能做什么的更多相关文章

  1. Facebook HHVM 和 Hack 手册----1.什么是Hack?

    什么是Hack? Hack 是一种基于HHVM(HipHop VM 是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT编译器,同时具有产生快速代码和即时编译的优点)的新型编程语 ...

  2. 【必备】史上最全的浏览器 CSS & JS Hack 手册(转)

    浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...

  3. 【必备】史上最全的浏览器 CSS & JS Hack 手册

    [必备]史上最全的浏览器 CSS & JS Hack 手册   浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技 ...

  4. 史上最全的浏览器 CSS & JS Hack 手册

    浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...

  5. 【收藏】史上最全的浏览器 CSS & JS Hack 手册

    浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...

  6. HHVM和Hack

    1. HHVM(http://hhvm.com)  全称是Hip Hop Virtual Machine,是一个PHP引擎. 2.Hack(http://hacklang.org) 一门新的服务器端语 ...

  7. facebook充值实时更新接口文档翻译 希望对做facebook充值的小伙伴有帮助

    Realtime Updates for Payments are an essential method by which you are informed of changes to orders ...

  8. Elasticsearch2.3.4使用手册(使用存储过程做增量同步的探索)

    一.工具安装 访问官网https://www.elastic.co/downloads/elasticsearch和http://xbib.org/repository/org/xbib/elasti ...

  9. 🔸RU大神手册上要再“做”的题🔸

随机推荐

  1. SqlServer 添加列并赋值

    有个需求,需要给某张表添加一列并且赋值,分解需求,一共分两部走: 添加列 赋值 两个功能都不难,很快实现. --add column alter table Med_Summary_Template ...

  2. MVC—WebAPI(调用、授权)

    ASP.NET MVC—WebAPI(调用.授权)   本系列目录:ASP.NET MVC4入门到精通系列目录汇总 微软有了Webservice和WCF,为什么还要有WebAPI? 用过WCF的人应该 ...

  3. jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

    原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jd ...

  4. linux命令之删除

      linux删除文件夹非常easy,非常多人还是习惯用rmdir,只是一旦文件夹非空,就陷入深深的苦恼之中,如今使用rm -rf命令就可以. 直接rm就能够了,只是要加两个參数-rf 即:rm -r ...

  5. Linux 的 Shell

    一个:Shell 概念 shell 这个词是不奇怪,意思是 "壳" 这是间OS 用户和芯层之间的相互作用,在linux系统.用户可以通过命令终端.使用shell 命令向下传达他们的 ...

  6. 华丽的网上突出代码组件CodeMirror

    农民之间的代码懒惰性质:愚公绝不能过夜.一劳永逸永远不知疲倦!这是一个代码示例 动态配置,在不同的场景抽象为常见的配置逻辑加,这使得有可能"为一个全球性的代码.代码做搬运工",更糟 ...

  7. JAVA缓存技术之EhCache(转)

    最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考.此为转贴,帖子来处:http://cogipard.info/ar ...

  8. 接口设计ie常见的问题

    问题叙述性说明: 当围绕一个简单的页面布局设计.我发现了一个奇怪的相对布局问题. 同的方式围绕布局接口.它是利用左div浮动.对div设定 margin-left这样达到的效果.实现了chrome浏览 ...

  9. 国外流行的共享网站实现:facebook,twitter,google+1,tumblr等待

    近期需要做相关的国外几个站点共享,本来我以为它会和weibo.在同样的烦恼空间,什么appkey啦,apptoken啦.api啦.结果非常意外的发现并非如此恼火. Twitter分享: https:/ ...

  10. C#程序(含多个Dll)合并成一个Exe

    把C#程序(含多个Dll)合并成一个Exe的超简单方法   开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一 ...