PHP框架Laravel还是Codeigniter?

我最近要搞一个项目,项目不是很大,需要一定的后期扩展,关键要考虑的是性能与开发速度。我个人PHP基础还行,只接触过Smarty,对MVC略熟悉,没真正深入学习过一个MVC框架,可以说是一个新手,请大家针对我现在的情况,给我提出些建议或者你对Codeigniter和Laravel的使用心得,多谢!(图片引自对PHP框架性能对比systemsarchitect.net/pe
关注者
764
被浏览
365,742

80 个回答

技术层面上

从技术上讲,Laravel 更加激进和现代化 —— PHP7 的适用,Composer 包依赖,测试覆盖率 100%,合理的版本发布计划,优雅的架构设计(中间件、路由、Artisan 命令行、代码迁移、假数据填充),再加上精心设计接口带来的愉悦编码体验,可以说 Laravel 很多地方都做对了。

数据分析趋势

从趋势讲,因为 Laravel 很多地方都做对了,PHP 社区对其接受度极高,以下的几张图可以说明一切。

图一:Github 上最受欢迎的 PHP 项目

图二:谷歌搜索的 Trending

图三:编程网站 Sitepoint 上的用户调查第一名

以上图片来自文章 —— 数据说话 - 最火的 PHP 框架是哪个?

看完上面对比,你大概就知道该选择哪个了,大部分情况下我都会选择第一个,道理很简单,第一的有资源聚合效应,带来的是以下优势:

开发者社区

Laravel 在国内的生态圈发展也日趋成熟,你可以很轻松的在网上找到很多 Laravel 相关的中文学习资料、技术讨论社区:


先说结论,个人建议如果二者都是从头开始的话,优先选择Laravel。

1)不得不说,Codeigniter是个优秀的框架,当年接触CI之后,才顿时觉得原来PHP开发可以这样爽。它的MVC架构以及对扩展的支持都使应用开发变得很简单。之前还因项目需要,做过一个CI的Starter Project,包含前后台。不过年代久远就废弃了。前些日子重新用最新的CI整理了一下,开源放了出来:

jiji262/codeigniter_boilerplate · GitHub

包含前后台(使用 Admin Panel),集成常用的用户注册等等功能。

2)让我再次感觉”PHP开发可以这样爽“ 是在用了Laravel之后。因为之前接触过nodejs的web 框架express,所以对Laravel的路由、模板等等都会有种似曾相识的感觉,而且使用起来的方便程度已经到了匪夷所思的地步。

3)就社区活跃度而言,目前Laravel如日中天,Codeigniter易手之后社区依旧半死不活,虽然新版CI改进不少,但是貌似大势已去。

4)相对来说,Laravel安装部署依赖composer,可以说是一大进步,但是同时也给用户制造了一个更高的门槛(特别是墙内的用户,你懂得)。这样看来,CI下载即用显得简单很多。

最后要说的是,具体还需要根据项目考虑,比如部署环境:
如果仅仅是需要简单的PHP项目,比如部署在虚拟机或者SAE上,建议使用Codeigniter;
如果是独立服务器或者VPS,弄个Laravel玩玩很有必要。

辛苦码字,点赞您别忘了啊亲~~~~~~