PHP框架问题

CMi*_*cea 5 php frameworks scalable

我目前正在研究基于浏览器的MMO并选择了LAMP堆栈,因为在生产中开始的成本非常低(与Windows + IIS + ASP.NET/C#+ SQL Server相比,即使我有MSDN Universal) .但是我需要一个PHP框架,因为这不是一件容易的事.我不受限于在Linux上运行的能力,因为我将使用专用的云托管解决方案(以及用于开发的VMWare映像),并可根据需要进行配置.

没有特定的顺序:

  1. 它必须易于扩展; 这是至关重要的.如果游戏取得了稳定的成功,它最终会超出主机提供的服务器,并且必须转移到几个负载均衡的服务器上.至关重要的是,这可以通过最小的努力来完成.我知道这可能需要遵循严格的约定,所以如果您知道任何建议的框架,请解释需要什么.
  2. 它必须为所有核心任务提供模块:身份验证,ACL,数据库访问,MVC等.只要可以轻松编写和集成,一个或两个缺少的模块就可以了.
  3. 它应该支持国际化.我认为任何Web框架都没有理由不提供翻译应用程序和在语言之间切换的方法,而无需程序员的大量努力.
  4. 必须有非常好的社区支持,最好是商业支持.是的,我知道QCodo/QCubed非常好,但它还不够成熟.
  5. 需要流畅的AJAX支持.只要AJAX很容易实现,框架是否带有支持AJAX的小部件或者添加AJAX的简单方法是不相关的.我计划使用jQuery + Dojo或其中一个 - 不完全确定.
  6. 如果它通常可靠并且不会干扰其他要求,那么当它提高可读性并减轻大量工作时,自动神奇地做一些事情会特别好.这似乎是CakePHP的情况.

我已经阅读了很多比较,我知道这是一个非常热门的辩论.一般的答案是"试着亲眼看看适合自己的东西".但是,我不能说这项任务很容易,而且我要求您构建具有类似要求的应用程序.到目前为止,我通过一般标准将Zend和CakePHP捆绑在一起,然而,所有众所周知的框架都以某种方式提供相同的功能,具有不同的方法,每种方法都有自己的优点和缺点.

编辑:

  1. 我是MVC的新手,但是,我愿意学习它,我不关心框架对于那些刚接触MVC的人来说是否更容易.我有很多时间学习MVC以及你推荐的任何其他架构(或者他们称之为的任何架构).
  2. 我将使用Zend作为实用程序"框架",即使它只是一个库的集合(虽然我已被告知,但是有些好的库).
  3. 目前的PHP竞争者是:CakePHP,Kohana,Zend.

Mat*_*hew 2

扩展并不是一个可以指望 Web 框架来解决的问题。即使是预算近乎无限的成功 MMO 也诉诸于分片和实例化。最好的方法是将您的应用程序设计为模块化。当需要时,您可以将主要功能转移到单独的服务器上。例如,聊天、库存和拍卖在很大程度上是独立的功能,不需要托管在同一服务器上。为了防止某些游戏漏洞,您需要在服务器之间提供消息传递服务,但没有一个主要的 Web 框架提供此服务。

PHP Web 框架的致命弱点是缺乏持久内存。CakePHP 之所以如此缓慢,是因为整个 Web 框架必须针对每个请求重新初始化。像 APC 这样的操作码缓存只是消除了解析 PHP 源文件的需要。

我强烈建议您考虑其他语言的 Web 框架。Python、Ruby 和 Java 都是不错的选择。所有这些语言都可以在廉价的 Linux 服务器上运行,并且不受上述限制的影响。