我想知道如何以及是否可以在codeigniter模型和控制器中使用HHVM运行Hack代码。
还有任何积极的努力将像CI这样的PHP框架移植到Hack中吗?
答案 0 :(得分:2)
我想知道如何以及是否可以在codeigniter模型和控制器中使用HHVM运行Hack代码。
是的! Hack完全向后兼容PHP。首先应确保CodeIgniter在HHVM上运行。 100% of its unit tests are passing on HHVM,所以我希望你能很幸运。
然后,您可以开始在CodeIgniter旁边编写Hack代码。 HHVM将允许Hack调用PHP和PHP来调用Hack而不会出现任何问题。 The Hack type system对PHP代码一无所知,因此无法帮助您解决边界类型错误,但一切都会有效。
还有任何积极的努力将像CI这样的PHP框架移植到Hack中吗?
我现在不知道。与其他答案所说的相反,这绝对是一件有用的事情!即使CI不想利用the many benefits of the Hack language,如果他们甚至想添加类型注释,那肯定会帮助任何想要使用Hack的人!因此,将现有项目转换为Hack对用户有明确的好处,然后您可以继续逐步使用Hack的更多功能。
主要问题是Hack只能在HHVM上运行; CI的现有用户将无法使用PHP5引擎。 Hack团队有一个解决方案,我们很快就会宣布,请继续关注:)
答案 1 :(得分:1)
我想知道如何以及是否可以在codeigniter模型和控制器中使用HHVM运行Hack代码。
Hack代码将在PHP运行的任何地方运行 - 它需要的只是将<?php
标记更改为<?hh
(这是一个'查找和替换',实际上可以在没有它的情况下完成任务! !)
但是,您需要在服务器上运行HipHop Virtual Machine(HHVM)。
还有任何积极的努力将像CI这样的PHP框架移植到Hack中吗?
不 - 这将毫无意义--HHVM旨在运行PHP(字面意思是,它专为PHP编译为字节码而设计),Hack只是PHP语言的扩展(不是那么简单的解释)
好消息?????? - 您可以直接将CI放到您的服务器上并通过HHVM运行它,您将获得Just In Time编译器的速度优势!!!!! It Works straight out of the box(显然 - 没有尝试过,但尝试过Laravel,只需很少的调整就能很好用!)
我认为你误解了Hack和HHVM究竟是什么,所以希望上面有一点澄清。
摘要
HHVM是一种在您的服务器上运行的虚拟机服务,它将PHP从动态语言更改为编译(即时)语言,使其速度更快(我的意思是,愚蠢地快)
Hack是一种在HHVM上运行的语言,可以很好地与PHP一起使用 - 将其视为PHP的扩展,而不是替代。
任何用PHP编写的东西都可以在今天的Hack中扩展/编写。
你可以重写PHP的某些部分,以利用Hack给你的一些“附加功能”,但在我看来是“过度优化”。
希望有所帮助,并且很清楚。