前兩天還在想,像Quercus只封裝了PHP在Java上的Web接口,有沒有實現了完整的JVM語言特性的東東,這不,來了。php
JPHP是一個面向Java虛擬機的PHP實現,支持PHP(5.3+)的不少特性。JPHP負責將PHP源代碼編譯爲JVM字節碼,使其可以運行在JVM上,這一點和JRuby、Jython等實現相似。它支持JDK 1.6及以上版本。該項目發起於去年10月。git
JPHP無心替代Zend PHP引擎或Facebook HHVM(HHVM的思路是將PHP編譯爲一種中間字節碼,再經過JIT將字節碼編譯爲x64機器碼)。出於如下緣由,設計者不打算爲JPHP實現Zend運行時庫(如Curl、PRCE等):github
JPHP有以下功能:數組
語言方面的特性包括:緩存
更多特性能夠查看該項目的README文件。閉包
此外,JPHP還提供了一些PHP不支持的特性,好比在__toString方法中能夠使用異常、對標量的類型約束等。架構
JPHP並不是改進PHP性能的第一次嘗試,到底效果如何,咱們拭目以待。感興趣的讀者能夠下載並動手嘗試一下函數
寫GUI:oop
<?php namespace { use php\lang\System; use php\lang\Thread; use php\swing\SwingUtilities; use php\swing\UIForm; use php\swing\UIManager; use php\swing\UIProgress; UIManager::setLookAndFeel(UIManager::getSystemLookAndFeel()); SwingUtilities::invokeLater(function(){ $form = new UIForm(); $form->size = [500, 500]; $form->moveToCenter(); $form->visible = true; $p = new UIProgress(); $p->size = [300, 40]; $p->position = [100, 100]; $p->value = 50; $form->add($p); $form->on('windowClosing', function(){ System::halt(0); }); }); }