我目前正在开发基于浏览器的 MMO,并选择了 LAMP 堆栈,因为在生产中开始的成本极低(与 Windows + IIS + ASP.NET/C# + SQL Server 相比,即使我有 MSDN Universal) . 但是,我需要一个 PHP 框架,因为这不是一件容易的事。除了在 Linux 上运行的能力之外,我不受任何限制,因为我将使用专用的云托管解决方案(以及用于开发的 VMWare 映像)并且可以根据需要对其进行配置。
没有特定的顺序:
- 它必须易于扩展;这是至关重要的。如果游戏取得稳定的成功,它最终将超出主机提供的服务器,并且必须将其转移到多个负载平衡的服务器上。至关重要的是,这可以以最小的努力完成。我确实知道这可能需要遵循严格的约定,所以如果您知道任何您建议的框架,请解释需要什么。
- 它必须为所有核心任务提供模块:身份验证、ACL、数据库访问、MVC 等。只要可以轻松编写和集成,缺少一两个模块就可以了。
- 它应该支持国际化。我认为任何 Web 框架都没有理由不提供翻译应用程序和在程序员不付出大量努力的情况下切换语言的方法。
- 必须有很好的社区支持,最好还有商业支持。是的,我确实知道 QCodo/QCubed 非常好,但它对于这项任务还不够成熟。
- 需要平滑的 AJAX 支持。框架是否带有支持 AJAX 的小部件或具有添加 AJAX 的简单方法无关紧要,只要 AJAX 易于实现即可。我打算单独使用 jQuery + Dojo 或其中之一 - 不完全确定。
- 如果它通常是可靠的并且不干扰其他需求,那么当它提高可读性并减轻大量工作时自动神奇地做一些事情会特别好。这似乎是 CakePHP 的情况。
我读过很多比较,我知道这是一场非常激烈的辩论。一般的答案是“尝试自己看看什么适合你”。但是,我不能说这项任务很容易,我呼吁您有构建具有类似要求的应用程序的经验。到目前为止,根据一般标准,我将 Zend 和 CakePHP 捆绑在一起,但是,所有知名框架都以某种方式提供相同的功能,但采用不同的方法,每种方法都有自己的优点和缺点。
编辑:
- 我对 MVC 有点陌生,但是,我愿意学习它,而且我不在乎框架是否对 MVC 新手来说更容易。我有很多时间来学习 MVC 和您推荐的任何其他架构(或任何其他架构)。
- 我将使用 Zend 作为实用程序“框架”,即使它只是一个库的集合(尽管有人告诉我,一些很好的库)。
- 当前的 PHP 竞争者是:CakePHP、Kohana、Zend。