为什么XHP可以改变PHP语法,但却可以完全作为扩展实现?

为什么XHP可以改变PHP语法,但却可以完全作为扩展实现?,php,zend-framework,xhp,Php,Zend Framework,Xhp,我想我要问的是: 要让PHP理解$a={$stuff}必须修改PHP解析器 在PHP扩展甚至Zend扩展中都无法实现上述功能。要引入新语法,必须修改Zend引擎 XHP将(1)作为一个简单的扩展 我遗漏了什么?也许通过查看for xhp可以为您提供答案;但是肯定还有其他的PHP扩展改变了解析器,比如xhprof、xdebug、runkit、scream等等。。。。因此,您的#2语句是有缺陷的。请注意,Zend引擎不是唯一能够运行PHP的引擎:hhvm、quercus、IBM的旧项目Zero都是a

我想我要问的是:

  • 要让PHP理解
    $a={$stuff}
    必须修改PHP解析器
  • 在PHP扩展甚至Zend扩展中都无法实现上述功能。要引入新语法,必须修改Zend引擎
  • XHP将(1)作为一个简单的扩展
    我遗漏了什么?

    也许通过查看for xhp可以为您提供答案;但是肯定还有其他的PHP扩展改变了解析器,比如xhprof、xdebug、runkit、scream等等。。。。因此,您的#2语句是有缺陷的。请注意,Zend引擎不是唯一能够运行PHP的引擎:hhvm、quercus、IBM的旧项目Zero都是alternatives@MarkBaker上述扩展改变了PHP行为和预定义函数的行为方式,但据我所知,non以任何方式改变了PHP语法。你能举一些例子吗?@MarkBaker有趣的是,你认为xhp是hhvm而不是zend的扩展吗?不,xhp是一个非常有效的PHP扩展,所以它应该与zend引擎、Quercus或hhvm一起工作。我只是指出你的第二个论点有几个缺点。。。。粗略地看一下xhp,它似乎是一个PHP预处理器;但是还有其他PHP扩展,比如xdebug,它们确实会直接影响解析器