【问题标题】:PHP MVC/ORM Frameworks that are Hyper PHP (HipHop) Ready [closed]支持 Hyper PHP (HipHop) 的 PHP MVC/ORM 框架 [关闭]
【发布时间】:2011-04-11 15:52:40
【问题描述】:

是否有一个很好的 PHP MVC/ORM 框架列表可以与 Facebook 的 HipHop 一起使用?

【问题讨论】:

  • 一个大的兼容性列表可能不存在。较小的框架在没有故障的情况下工作的机会更高。之前的另一个讨论:stackoverflow.com/questions/2190270/…
  • hiphop 在中小型系统上毫无意义
  • 我最终会得到一个庞大的系统。
  • 你无法知道这一点。您不应该在盲目的假设下过度架构您的系统,即您需要完全相同的架构来向上和向后扩展。您无法正确预测您的系统将如何在现实条件下运行,并且您需要对其进行更改以适应,无论如何.您真正需要 HipHop 并从中受益的机会不会太大。
  • 即使它不会变得很大。如果我可以在 10 台前端服务器上运行我的应用程序,而不是 20 台,这将为我在 EC2 上节省很多钱。我很穷。所以它与我有关。

标签: php hiphop


【解决方案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% 的性能提升
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2011-08-09
    • 1970-01-01
    相关资源
    最近更新 更多