素材牛VIP会员
Laravel vs CakePHP vs CodeIgniter 的看法(性能,开发效率,负债能力)
 上***水  分类:PHP代码  人气:1908  回帖:17  发布于6年前 收藏

最近打算用做一个比较中型的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框架mvcphp

讨论这个帖子(17)垃圾回帖将一律封号处理……

Lv1 新人
非***扰 交互设计师 6年前#1

我目前觉得yaf+composer挺爽

Lv3 码奴
威***军 职业无 6年前#2

CakePhP,比较稳定,

Lv3 码奴
Go***ng 职业无 6年前#3

swoole如何? http://www.swoole.com/

Lv1 新人
冷***知 职业无 6年前#4

CI 是PHP5.2和5.3时代的框架.

Lavarel 是PHP5.4时代的框架, 文档不全你是指L3还是L4? 而且大部分文档都可以在官方论坛里面帖子找到, 文档就是普通的索引,没有太多例子很正常, 哪个开源项目不是这样. L4 文档还算好的了.
当然中文文档肯定是跟不上了.

Lv5 码农
zh***ao 职业无 6年前#5

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

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

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

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

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

Lv2 入门
蒙***生 职业无 6年前#6

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

Lv4 码徒
日***天 职业无 6年前#7

laravel5.1一个空项目,或者链接数据库,取一个表的几条记录显示出来:
用 ab -t 10 -c 10 http://127.0.0.1/laravel511/public/index.php
或 ab -n100 -c100 http://127.0.0.1/laravel511/public/index.php
得出的结果 request per time: <50

而如果换slim3 或 ci3 测试,可以达到 reququest per time : 200-300

如果不用任何框架,同样测试,则可以达到:request per time : 1300

不明白这样的情况下,还要用框架吗,项目套上框架性竟然能这么低啊。

赶脚白瞎了机器硬件啊。

Lv6 码匠
无***圣 职业无 6年前#8

你的分析很多都是错的.

(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的时代了, 不是么?

Lv4 码徒
Su***er JS工程师 6年前#9

为什么不用ThinkPHP呢

Lv5 码农
sh***ao 职业无 6年前#10

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

上一页12下一页
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取