前两天还在想,像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); }); }); }