市面上有大量的PHP框架;有些相当不错,有些则显得臃肿和不必要。看过Rasmus Lerdorf's presentation on PHP performance at Digg之后,我更关心我选择用来构建应用程序的框架的性能。
据我所知,最流行的两个框架是CodeIgniter和CakePHP。据我所知,CakePHP是一个可怕的资源大王。那CodeIgniter呢?我听说Zend Framework也不是那么轻薄。
有没有其他我应该感兴趣的(性能更好的)框架?干脆不使用框架是不是更好?在选择PHP框架时应该考虑哪些因素?
发布于 2010-08-03 02:42:18
使用框架或不使用框架意味着您要在以下两者之间做出选择
load
下的
如果你决定不使用框架,你仍然需要做 do 框架会做的事情。你只需要自己用原始的PHP编写它们,或者开发你自己的框架,它可以保持轻量级,因为它只需要做你想让它做的事情,而不是世界希望它做的事情。您将获得更好的性能,但您将花费更多的时间来开发和调试由框架自动为您处理的代码。
框架为您带来的是开发时的速度。您不必编写冗长复杂的SQL查询,也不必调试别人冗长复杂的SQL查询。您只需要创建一个表并实例化一个模型。您不需要决定在哪里转义SQL参数,因为框架定义了转义发生的位置。您不需要为业务逻辑与表示逻辑的走向而陷入巨大的政治斗争,因为框架定义了这一点。框架消除了团队中系统开发人员的需要,或者使您不必考虑/浪费时间在系统开发上。您可以更快地开始编写应用程序,并更快地获得可测量、可见的结果。
这里有另一种方式来思考它。PHP框架比PHP慢,但PHP本身比C慢。为什么不直接用C编写应用程序呢?
这里没有正确的答案,这是那些软件工程/开发问题之一,这是你目前的情况所要求的问题。现在业界的默认选择是使用框架,因为如果你不这样做,你的竞争对手就会发布一个PHP处理速度比你的慢,但比你早三个月上市的应用程序。
最后,从那次谈话中要考虑的最后一件事。Rasmus说,大多数时候你的应用程序的感知性能是在前端中。包括Javascript代码和浏览器如何缓存返回给服务器的请求。PHP是一种非常糟糕的语言,很少会成为瓶颈。当它成为瓶颈时,你通常可以做一些调整(选择代码缓存,专注重构)来消除性能瓶颈。
发布于 2010-08-03 02:41:05
您可能希望查看轻量级框架类别。有fat-free、doophp、limonade等,它们都是轻量级的,但并不像你想象的那样强大。不要依赖已发布的基准。取而代之的是,以你自己的目标为基准。
发布于 2010-08-03 02:30:05
IMHO,使用一个框架的优点远远超过它可能带来的任何开销的缺点。当然,规则总是有例外的,这些例外是:
但对于大多数情况,您不应该担心它。我在很多项目中都在使用Symfony ( 1.2和1.4版本),从来没有想过“这太耗费资源了”。我将很乐意牺牲一些资源,以换取框架提供的所有工具,这些工具让我的生活更轻松,工作所需的时间更少;)
https://stackoverflow.com/questions/3390621
复制相似问题