首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP框架问题

PHP框架问题
EN

Stack Overflow用户
提问于 2010-03-04 06:31:40
回答 8查看 1.1K关注 0票数 5

我目前正在开发一个基于浏览器的MMO,并且选择了LAMP堆栈,因为在生产中开始的成本非常低(相对于Windows + IIS + ASP.NET/C# + SQL Server,尽管我有MSDN通用版)。但是,我需要一个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。
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-03-09 19:49:20

缩放不是一个问题,你可以期待一个web框架来解决。即使是拥有近乎无限预算的成功的多国组织,也采取了分而治之的方式。最好的方法是将您的应用程序设计为模块化。根据需要,您可以将主要功能转移到单独的服务器上。例如,聊天、库存和拍卖在很大程度上是独立的特性,不需要托管在同一台服务器上。为了防止某些游戏漏洞,您需要在服务器之间提供消息传递服务,而主要的web框架都没有提供这种服务。

PHP web框架的致命弱点是缺乏持久的内存。CakePHP太慢了,因为整个web框架必须对每个请求重新初始化。像APC这样的Opcode缓存只会消除解析PHP源文件的需要。

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

票数 2
EN

Stack Overflow用户

发布于 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。

票数 4
EN

Stack Overflow用户

发布于 2010-03-04 07:39:12

我是科哈纳的粉丝。在此之前我就有过CodeIgniter,而Kohana (据我所见)本质上是CodeIgniter中所有的好东西,没有太多的限制。v3是Kohana的最新版本,比v2更加健壮和灵活。

与其他框架相比,性能取决于您使用框架的方式及其固有的优势和弱点。最好的选择是使用APC (很快将成为PHP6的一部分)或eAccellerator来缓存已编译的PHP脚本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2377297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档