我可以使用Facebook的嘻哈框架如Zend Framework,cakephp,symfony

问题描述:

昨天Facebook推出HipHop,从PHP到C++的源代码转换器。这组php功能和结构比标准的php更有限。我可以使用Facebook的嘻哈框架如Zend Framework,cakephp,symfony

当前流行的PHP框架(ZF,CakePHP,symfony)是否与HipHop兼容?如果不是,这些框架的哪些部分不可用?

如果我没有弄错,HipHop还没有发布 - 即使从Facebook annoucement yesterday连接wiki page还没有结束。

所以,现在有点难以回答。


我想这将完全取决于:

  • 由框架使用的功能 - 如在这里和那里已经说了,像eval的东西不被支持的HipHop
  • 的PHP扩展框架使用:只有一些已被Facebook移植到HipHop。
  • 根据框架和您的特定需求,可能/可能是一些您所使用的框架的子集将被支持,即使不是每一个可用的组件......我想时间会告诉我们这;-)

至少ZF和Symfony被用于企业级应用程序,机会非常好,它们将与HipHop一起运行。如果不是现在,那么迟早。但是,如果他们可以使用这些框架运行,那么问题就不那么重要了,但是您的支持IT架构的外观如何。

HipHop是用于扩展像Facebook这样的大型多服务器高流量网站。在您的常规Web应用程序中,您可能无法从中获益。只需继续使用memcache和APC。

请参见以下相关文章:

+0

如果一个框架使用eval,它可能很难使用HipHop。我想如果HipHop获得牵引力,这个约束将会移动任何框架,以在将来停止使用eval – 2010-02-03 12:43:20

+1

@Jon是。这就是我想暗示的*如果不是现在...... *以及它在链接文章中所说的话。 ZF不使用任何'eval' afaik,所以它*可能*工作。只有*可能*,因为它不仅是'eval'。这也是Facebook不使用atm的任何扩展。 – Gordon 2010-02-03 12:53:33

+0

对于引用的文章+1是非常有帮助的 – sathish 2010-02-04 05:33:48

虽然我敢肯定,我们大多数人都好奇什么街舞打算是的,我知道它不会取代PHP - 这是一个非常有利的产品:除非您运行的是大型服务器场,否则性能优势与维护成本并不合理。

也许这可能是一个有趣的替代方案,用于某些人使用编码的PHP - 但这又会带来更大的维护开销。编译的PHP似乎很有意义的唯一小容量场景是嵌入式设备(其中软件支持硬件而不是反之亦然)以及非常高的安全性安装(其中并不是一个好主意有翻译可用)。

能够说出什么PHP软件将与它一起工作还为时过早。然而,即使这种做法确立了,我也希望看到任何供应商的坚定承诺,他们将在我切换之前明确支持HipHop。

C.

+0

......我希望它对于独立应用程序也很有用。 发现这个视频当前我在观看http://www.ustream.tv/recorded/4409735 – symcbean 2010-02-03 12:12:52

+0

如果有人正在创建一个预计流量非常大以至于性能可能受到关注的_new_ web应用,也许他们应该考虑首先使用PHP以外的其他东西。但在99%的案例中,您不会遇到这些问题...... FB拥有200多万用户。 – 2010-02-04 10:03:38

我不会重复已经说过的话,我只想补充一点,只要街舞发布,你可以在开源社区指望提交补丁您最喜爱的框架,以提高兼容性与HipHop。另外,测试您最喜欢的框架是否兼容的一个好方法是使用HPHPi启动测试套件(然后您知道在哪里集中修补工作;)。

简单的回答:我不这么认为。

刚看到这个嘻哈页:https://github.com/facebook/hiphop-php/wiki/

“你在简单的PHP不断编码,然后街舞执行源代码在语义上等价的方式和牺牲了一些很少使用的功能 - 如的eval() - 在交流以提高性能。“

在ZF 1.9上搜索了'eval',并且发生了100多次。

搜索“EVAL”给出了很多误报,当你点击这个词如果你搜索“评估”的意见,或escapeValue如果搜索不区分大小写等

'eval('在ZF 1.11中,你会在第59行的Zend/Serializer/Adapter/PhpCode.php中找到一个方法,该方法将存储的PHP代码进行反序列化。该方法不是MVC体系结构的一部分,db组件,而实际上不使用其他任何地方框架(Zend_Serializer_Adapter_PhpCode不是实例的其他任何地方的代码库)。

所以,如果EVAL伤了你的ZF-嘻哈应用程序,请不要使用Zend_Serializer_Adapter_PhpCode,或在EVAL您的消费者代码。