php框架 - Laravel vs CakePHP vs CodeIgniter 的看法(性能,开发效率,负债能力)
PHP中文网
PHP中文网 2017-04-10 14:58:27
[PHP讨论组]

最近打算用做一个比较中型的PHP应用,想到用比应用广泛的MVC框架。
要求

1.支持命名空间
2.不支持PHP4
3.架构、性能更重要
4.长期稳定,而不是很快就会被淘汰或者解散的框架

Yii2、symfony2都太庞大,不适合。考虑到了Laravel CakePHP Kohana CI。
先说一下自己对这三款框架的看法

1) CI 2.x
    官网一种放弃状态
    CI框架太轻巧,很多东西都要自己做,非常陈旧
    CI框架在IDE中无法进行代码跟踪,点击类名无法跳转过去

2) CakePHP 2.x
    为什么非得向下兼容PHP4?弄得非得用一个蹩脚的App::use()来替代namespace!
    为了兼容PHP4弄得整个架构乱七八糟
    如果CakePHP放弃对PHP4的兼容,应该会有更多的人使用

3) Laravel
    不支持php4,支持命名空间
    网上非常多的好评,仔细看每个评测文章都是复制粘贴的感觉很枪手。

网上包括segmentfault上都有对框架的比较,但基本上是都是摘抄的转载的,而不是自己使用过后的真实体会,期待有使用过后的真实体会,而不是复制粘贴网上人云亦云的测评。


今天使用Laravel,发现文档不是官方宣传的那样丰富,而是少非常不清晰。
Route的所有方法有那些,根本就找不到这些说明。官方的文档只是几个简单的例子,根本就不详尽。


2015-6-16 补充:
再次回到这个问题,我已经一路使用了CodeIgniter、ThinkPHP 再到Yii2,开发了一些完整的项目。现在发觉 PHP 的 MVC 模式确实难以满足需求,到后来的 component,现在再到laravel的思路,难以理解,总是一直感觉在追赶,特别疲惫。

其实一开始,我走过太多的弯路,很多年以前,对于OOP都有着强烈的排斥和极端的抵触,原因就是使用了class 类会导致程序运行非常慢,究其根本是我使用的运行环境实在是太烂了,虚拟主机都不如,而且还是win。到后来MVC模式,加载的文件数目几乎是无法比拟。后来开始使用MVC框架,普通的主机已经完全无法支撑,绝大部分虚拟主机大部分都是win服务器、而且PHP最多最多PHP5.3就不错了,还有很大一批居然还在PHP5.0(虚拟主机就是只提供一个FTP用户名密码的那种)。

走过太多的弯路,一直以来总是被硬件条件、运行环境束缚思维。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(13)
PHP中文网

CakePHP没用过不予置评。

一个php程序员的成长过程往往可以类比成 CI -> Laravel -> CI。CI和Laravel基本可以认为是过去几年和现在两个时期的PHP框架霸主,使用率最高的框架。CI适合完全新手和高手,Laravel适合中级别程序员提高生产力。

详解

CI提供的东西少,恰恰是其立于不败之地的最重要的原因。

另外,CI的文档简直就是开源软件的典范,非常之清晰、详尽!

它能给我们最核心的功能,让我们真正感悟php做web的精髓,感受MVC的真正魅力。BTW,不要小看MVC,它作为现代GUI软件开发久经考验的最流行结构,不是在还没用过MVC时候看两眼描述就能理解的,我们需要去做,去感受。


Laravel号称完全模仿Rails,不得不承认他们做到了,包括性能。^_^ Laravel其实是符合互联网产品的开发特点的:迅速做出可用产品,再高速迭代。

如果你用了Laravel,也不用担心性能问题,因为当出现性能问题的时候,性能也就不是问题了。有用户有钱有时间,想怎么重构怎么重构,妥妥的~

大家讲道理

你的分析很多都是错的.

(1) EllisLab确实曾经想找人接盘CI, 但事实上, github上CI的更新一直没停过.

(2) cakephp 2.x只支持php 5.x, 并不支持php 4.x, 支持php 4.x的是cakephp 1.x, cakephp 2.x不用命名空间是因为命名空间是php 5.3后才有的, 而原先php社区的计划是把这些特性放到php 6里. 仅支持php 5.4的版本是cakephp 3, 马上要出正式版了. 如果你优先看中长期稳定的话, cakephp肯定是首选, 它到现在还在维护仅支持php 4.x的cakephp 1.x版的bug修正.

(3) 如果你认为yii2和symfony算大的话, Laravel你就不该考虑, 这东西是构建在大量symfony components上的, 不过大小真有那么重要么? 现在也并不是10多年前1MB空间1~2RMB的时代了, 不是么?

巴扎黑

本人项目历程:原生PHP->CodeIgniter->Yii1->Yii2

2014年07月12日那会,Yii2处于Beta期,Yii官方也不推荐用于生产环境,同时个人也认为还不成熟。

经过一年时间发展,目前截止2015年10月15日,Yii2已经非常成熟了,而且本人目前的项目也是基于Yii2开发的,已运用到生产环境中。

具体开发、修复bug历程,可以看Github和官网

目前,部分文档并不健全,比如 Development Tools 模块,指南文档

大家讲道理

Laravel 我尝试过写一个DEMO,并没有想象中那么好用,个人觉得小项目用 CI 足够,大项止还是用 Symfony2 吧!

高洛峰

我个人认为Laravel对第三方包依赖太多(特别是Symfony),给人的感觉就是对Symfony的二次开发

PHPz

Laravel API文档也太精简了吧。精简得让你不看源码都不知道怎么用。

巴扎黑

我目前觉得yaf+composer挺爽

ringa_lee

正在学laravel,比thinkphp和zend framework 2 都爽,光看路由就觉得优雅非凡。

阿神

用过larave,除了他代码写得十分美好,接口设计得十分漂亮之外,router的性能十分差!

PHP中文网

这么多框架~一个都没用过。thinkPhp体验过,yii也体验过,具体如何,我也不知道

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号