支持 Hyper PHP (HipHop) 的 PHP MVC/ORM 框架 [关闭]
Posted
技术标签:
【中文标题】支持 Hyper PHP (HipHop) 的 PHP MVC/ORM 框架 [关闭]【英文标题】:PHP MVC/ORM Frameworks that are Hyper PHP (HipHop) Ready [closed] 【发布时间】:2011-04-11 15:52:40 【问题描述】:是否有一个很好的 php MVC/ORM 框架列表可以与 Facebook 的 HipHop 一起使用?
【问题讨论】:
一个大的兼容性列表可能不存在。较小的框架在没有故障的情况下工作的机会更高。之前的另一个讨论:***.com/questions/2190270/… hiphop 在中小型系统上毫无意义 我最终会得到一个庞大的系统。 你无法知道这一点。您不应该在盲目的假设下过度架构您的系统,即您需要完全相同的架构来向上和向后扩展。您将无法正确预测您的系统将如何在现实条件下运行,并且您将需要对其进行更改以适应,无论如何.您真正需要 HipHop 并从中受益的机会不会太大。 即使它不会变得很大。如果我可以在 10 台前端服务器上运行我的应用程序,而不是 20 台,这将为我在 EC2 上节省很多钱。我很穷。所以它与我有关。 【参考方案1】:首先,你应该知道,目前 HipHop 没有完整的 PHP 5.3 支持,你不能使用所有的扩展。
其次,如果您要构建一个在大小和用户群上与 facebook 相当的应用程序(我真的怀疑),那么使用 ORM 将是如何下沉项目的最佳方法之一。
我无意再次重复有关 ORM 的相同歌曲和舞蹈,所以,read this earlier comment。
最后一点:在大型项目中,人们不使用固定框架。他们在内部编写一个然后使用它,因为大型项目有非常具体的要求,而流行的 mvc 框架往往有一切,但厨房水槽的方法来添加功能。
如果你不是在构建像 Facebook 一样大的项目,那么你就不需要 HipHop。
【讨论】:
【参考方案2】:除非您确实遇到可直接归因于 PHP 性能的性能问题,否则我强烈建议您避免使用 HipHop。它当然可以(如果使用得当)处理极高的流量,但它也不完全兼容 PHP。如前所述,并非所有 PHP 扩展都适用于 HipHop。
如果您遇到性能问题,那么在求助于 HipHop 之前,您可以考虑其他替代方案。首先,检查脚本的性能,确定瓶颈并优化它们。这是您最能控制的应用程序部分,因此是您应该开始的地方。与外部资源(尤其是数据库和远程服务器)的交互是一个很好的起点,因为这是操作往往花费最多时间的地方。可以通过减少查询负载和明智地选择表索引来提高数据库性能(提示,ORM 往往会产生非常次优的查询模式)。您还可以将特别昂贵的操作卸载到 cron-jobs 以离线运行,并让在线脚本将操作排队。
如果这不能提供足够的性能提升,那么 APC 将 PHP 代码缓存在“字节码”(为了更好的术语)中,在运行之前不必对其进行解析Zend 引擎。这提供了性能提升。您还可以执行其他操作,例如使用 memcache 进行缓存、缓存结果等,以进一步提高性能。
如果您仍然没有获得足够的性能,那么,也只有到那时,您才应该考虑 HipHop。您应该将其视为最后的手段,而不是第一手段。在项目明显受到性能问题困扰之前,您也不应该开始担心优化项目。
永远不要过早优化。
【讨论】:
与 hhvm 不兼容的扩展很少被人们使用,大多数 95% 的 php 项目甚至不会使用这些,所以你仍然覆盖了 95% 的 php,但无论如何,我使用它适用于带有 Redis 和 Memcached 的生产环境中的 Magento,它就像一个魅力,有一些问题,但有一些解决方法,我在 php 5.5.x 上获得了 50% 的性能提升以上是关于支持 Hyper PHP (HipHop) 的 PHP MVC/ORM 框架 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章