Facebook HHVM 和 Hack 手冊 --- 2. HHVM能作什麼

HHWM簡介:mysql

HHWM(HipHop VM) 是Facebook推出的用來執行PHP代碼的虛擬機,它是一個PHP的JIT(Just-In- Time)編譯器,同時具備產生快速代碼和即時編譯的優勢。nginx

 

HHWM能作什麼?web

幾乎能夠作任何事情,HHWM主要專一於服務器端腳本,這樣你就能夠收集表單數據,生成動態頁面內容,或者發送和接收的cookies。除此,HHVM能夠作更多的事情。sql

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.cookie

HHVM也能夠經過使用如LDAP, IMAP, HTTP等的協議來提供對其餘服務交互的支持。你也能夠開放一個Raw Network Sockets ,使用任何其餘協議進行交互。HHVM支持在幾乎全部的Web編程語言見的WDDX複雜數據的交換。

 

HHVM具備卓有成效的文本處理功能,包括 perl 兼容的正規表達式(PCRE),以及解析和操做XML文檔的多種擴展和工具。HHVM以libxml2爲基礎標準化了全部XML的擴展,於此同時也擴展了XML功能集,加入了SimpleXML, XMLReader 和XMLWriter的支持。

 

本文不足以列出HHVM全部的功能和優點。你能夠經過閱讀Hack 功能參考手冊(後續補上)來進一步瞭解本頁提到的擴展。

相關文章
相關標籤/搜索