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. nodejs 复制、移动文件

    对路径没有做验证 复制文件 var fs = require('fs'); var path = require('path'); var fileName = "coverflow-3.0 ...

  2. [Unity3D]Unity3D游戏开发3D选择场景中的对象,并显示轮廓效果强化版

    大家好,我是秦培,欢迎关注我的博客,我的博客地址blog.csdn.net/qinyuanpei. 在上一篇文章中,我们通过自己定义着色器实现了一个简单的在3D游戏中选取.显示物体轮廓的实例. 在文章 ...

  3. cocos2dX 音乐和声音效果

    今天, 我们学习cocos2dX里面音乐和音效, 为什么学他呢, 难道你喜欢看无声电影( 旁白: 我就喜欢关着声音玩), 我们不要管旁白了, 她是个疯子 老规矩, 资源准备好: 一首<故宫神思& ...

  4. SQL Server BCP使用小结

    原文:SQL Server BCP使用小结 用法: bcp {dbtable )   );GO--输出XML格式化文件--说明一下:-t","是指定字段分隔符,稍后我们会讲到exe ...

  5. C#中实现并发

    C#中实现并发的几种方法的性能测试 0x00 起因 去年写的一个程序因为需要在局域网发送消息支持一些命令和简单数据的传输,所以写了一个C/S的通信模块.当时的做法很简单,服务端等待链接,有用户接入后开 ...

  6. c# 硬件开源神器netduino的开发中慎用Cpu.Pin

    最近为了测试netduino开发板的各个端口是否正常使用,让同事写了一些测试程序,结果出了问题,他的测试程序导致开发板无法发布程序进去,按他的结论是开发板有问题,针对这个情况,我们经过仔细分析代码,认 ...

  7. Ubuntu升级后apache所有的失败,以解决虚拟文件夹的设置

    问题描述: 将Ubuntu离12.04升级到14.04后,出现apache配置的虚拟文件夹所有失效.所有站点域名所有定向到根文件夹.无法分别訪问! 尝试方法: 開始以为是升级后Apache的问题.已经 ...

  8. BZOJ 1015 JSOI2008 星球大战 starwar 并检查集合

    标题效果:给定一个无向图.联通谋求块的数目,以及k一个点的破坏后每次:联通,块的数目 侧面和摧毁的地步全记录,我们可以做相反的. 需要注意的是该点不能算作破坏联通块 #include<cstdi ...

  9. hdu 1025 Constructing Roads In JGShining’s Kingdom 【dp+二分法】

    主题链接:pid=1025">http://acm.acmcoder.com/showproblem.php?pid=1025 题意:本求最长公共子序列.但数据太多. 转化为求最长不下 ...

  10. android账号与同步之发起同步

    上一篇博文我介绍了账号与同步的同步实现过程,当中提供了一个工系统进程调用的服务,那么这个服务究竟是怎么被启动和使用的呢?这篇博文我就大体梳理一下启动过程. 事实上作为一个一般开发者,我们仅仅要知道要想 ...