我目前正在开发一个基于浏览器的MMO,并且选择了LAMP堆栈,因为在生产中开始的成本非常低(相对于Windows + IIS + ASP.NET/C# + SQL Server,尽管我有MSDN通用版)。但是,我需要一个PHP框架来完成这个任务,因为这不是一件容易的事情。除了在Linux上运行之外,我不受任何限制,因为我将使用专用的云托管解决方案(以及用于开发的VMWare映像),并可以根据需要对其进行配置。
没有具体的顺序:
我读过很多比较,我知道这是一个非常热门的辩论。一般的答案是“试着自己看看什么适合你”。但是,我不能说这个任务很容易,我需要您在构建具有类似需求的应用程序方面的经验。到目前为止,我在Zend和CakePHP之间使用的是一般标准,然而,所有著名的框架都以不同的方式提供了相同的功能,不同的方法各有优缺点。
编辑:
发布于 2010-03-09 19:49:20
缩放不是一个问题,你可以期待一个web框架来解决。即使是拥有近乎无限预算的成功的多国组织,也采取了分而治之的方式。最好的方法是将您的应用程序设计为模块化。根据需要,您可以将主要功能转移到单独的服务器上。例如,聊天、库存和拍卖在很大程度上是独立的特性,不需要托管在同一台服务器上。为了防止某些游戏漏洞,您需要在服务器之间提供消息传递服务,而主要的web框架都没有提供这种服务。
PHP web框架的致命弱点是缺乏持久的内存。CakePHP太慢了,因为整个web框架必须对每个请求重新初始化。像APC这样的Opcode缓存只会消除解析PHP源文件的需要。
我强烈建议您考虑使用其他语言的web框架。Python、Ruby和Java都是很好的选择。所有这些语言都将在廉价的Linux服务器上运行,并且不会受到上述限制的影响。
发布于 2010-03-04 06:37:42
我看到你看过Zend和CakePHP,但我想指出一个不同的方向。
http://kohanaphp.org/
如果我仍然在使用PHP,那么Kohana就是我要使用的东西。他们采用了CodeIgniter,并以一种使php感觉更少基于文件和更多基于对象的方式对它进行了分叉。他们有一个很好的模板解决方案,而且除了ACL (我不知道那是什么,所以也许他们有它),还有你讨论的所有东西的模块。
不管怎么说,我觉得值得一看。
基于可伸缩性的
我注意到一些关于速度的谈话。虽然我认为Kohana为我们处理事情的速度非常快,但我不认为这与框架有关,而与其他工具有关。
首先,我通过放弃apache,提高了我的许多php应用程序的速度。Nginx使用PHP作为快速for运行,它的重量要轻得多,并且确实增加了http://ukclasslist.com的负载时间。我们仍然在本地使用apache,并且在服务器上运行的副本比本地版本更快。
如果您仍然在速度方面遇到困难,特别是在抓取大量数据时,您应该查看memcache。
发布于 2010-03-04 07:39:12
我是科哈纳的粉丝。在此之前我就有过CodeIgniter,而Kohana (据我所见)本质上是CodeIgniter中所有的好东西,没有太多的限制。v3是Kohana的最新版本,比v2更加健壮和灵活。
与其他框架相比,性能取决于您使用框架的方式及其固有的优势和弱点。最好的选择是使用APC (很快将成为PHP6的一部分)或eAccellerator来缓存已编译的PHP脚本。
https://stackoverflow.com/questions/2377297
复制相似问题