laravel - 求推荐PHP框架,本人有一定PHP基础。

本人学过PHP,现在希望学习一个PHP的框架。
通过网上查阅资料,我了解到以下几个框架经常被提到:

  • ThinkPHP:国产的PHP框架,不过感觉很多人对其评价不高。
  • CodeIgniter:有人说它功能很弱,设计思想比较老。
  • Laravel:据说是国外使用最多的PHP框架,我到Github上看了看确实挺热。但国内好像就很冷。
  • 其他:Yii?CakePHP?Zend Framework?……

求指点。

——————

8月10日:根据大家的回答,决定学习Laravel。谢谢大家的解答。

提问者猪哥

添加回答

46回答
巴扎黑
3个月前巴扎黑

我用thinkphp3.2 转到yii 再后来 从yii2 转到thinkphp5.0 呵呵 ,我也不知道为什么又回来,主要是能满足我的需求,就会去做

赞同00个回复
阿神
3个月前阿神

闭关修行中......

鸟哥的Yaf框架不错的

赞同00个回复
阿神
3个月前阿神

闭关修行中......

新手就用Yii吧

赞同00个回复
迷茫
3个月前迷茫

业精于勤,荒于嬉;行成于思,毁于随。

PHP所有的框架都类似,学会一种后再学习其他的框架都比较简单了,

赞同00个回复
猪哥
3个月前猪哥

认证0级讲师

看来Kohana 是没人用了_(:з」∠)_

赞同00个回复
伊谢尔伦
3个月前伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

symfony

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

最近看到 slim这样的小框架 感觉不错

赞同00个回复
刘奇
3个月前刘奇

走同样的路,发现不同的人生

我之前一直在纠结Laravel和Phalcon,不过写完几个demo后我就果断选择了phalcon,laravel真的很臃肿,一个PHP框架甚至比Symfony还重是无法接受的。相反,phalcon跑起来飞快,设计优雅,写起来十分舒服。另外,phalcon 2.0之后是一个跨越,以后很多非controller层的代码可以封装到扩展中,这个性能想想就激动。不过选框架这种事情跟找女朋友差不多,不是非得追求最漂亮的,适合自己就好。

赞同00个回复
巴扎黑
3个月前巴扎黑

我的一个开源框架,如果可以有兴趣可以一起研究发展

赞同00个回复
PHPzhong
3个月前PHPzhong

PHP新手,求带!

symfony2正在学习,一起共勉吧

赞同00个回复
伊谢尔伦
3个月前伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

Symfony2 ,一定要学,它有着先进的设计思想,代表 PHP 最先进的生产力!

赞同00个回复
PHPzhong
3个月前PHPzhong

PHP新手,求带!

ci, 必须的。

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

其实新手thinkphp上手快,文档多,只适合新手。。

但是貌似tp有一点点的问题

赞同00个回复
迷茫
3个月前迷茫

业精于勤,荒于嬉;行成于思,毁于随。

Symfony是一定要学的,代表了PHP框架里最先进的设计思想,开发者靠谱,社区活跃,基于组件,低耦合,高重用;

Laravel和Drupal都是基于Symfony的;

新手不推荐C扩展的框架;

赞同00个回复
伊谢尔伦
3个月前伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

微框架推荐Slim和Silex,后者更重量级些不过和Symfony的组件可以很好混用,前者基本可以视作Sinatra PHP版,也很赞,有个叫TextPress的开源的轻量级flat-file博客引擎就是用的它,可以作为不错的学习参考。
重量级的主要就是Zend Framework和Symfony吧,太复杂没玩过不置评。
近几年流行起来的值得一提的还有Laravel和Phalcon,前者是截至目前GitHub上星数最多的PHP框架,很好上手,后者是性能第二高的PHP框架,几乎全部的功能都用C实现,第一高的是Yaf不过Yaf的代码风格是PHP 5.3以前的,不够现代化,功能也比Phalcon少……
此外还有国产的ThinkPHP,对各类国内PaaS运行环境如ACE,BAE,SAE进行了优化,而且中文文档完善,也是不错的选择。

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

你们说的框架性能是怎么测出来的,就写一个hello,world就算测试过了吗?
不过不推荐Laravel这框架,推荐Phalcon这个框架,谁用谁知道

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

我的建议是:
要是个人业余时间玩玩,三个框架,做个简单的用户登录,或留言板,那个顺手用那个。别人在多的建议也代替不了你个人的主观感受。自己尝试为主。
要是上班以此为饭碗,我建议三个都学一学,从一个长远的打算来看,每个公司的策略与技术历史不一样,所以都了解一下,而且框架都有很大的相似性,就我个人了解,ci与tp其实是很像,只是一个抓住了国人目前的技术心理,更方便,更傻瓜一点而已。或者目前在上班公司用那个就学那个,业余自己折腾在多的东西,不如在公司跟同事们一起奋斗需求变化万千的实际项目。

赞同00个回复
小葫芦
3个月前小葫芦

祸兮福所倚 福兮祸所伏

用laravel写了些东西,感觉还是不错的。

赞同00个回复
大家讲道理
3个月前大家讲道理

光阴似箭催人老,日月如移越少年。

推荐YAF框架

赞同00个回复
阿神
3个月前阿神

闭关修行中......

我只用过Yii 所以只能推荐它了
Yii学习曲线比较陡 自学入门时比较难 掌握了就好了 开发很快的
(我本来想赞同那些回答Yii的,但是声望不够

赞同00个回复
猪哥
3个月前猪哥

认证0级讲师

这个要看你学框架来做什么样的站点了

个人喜欢边做项目边学东西,通过实践学来的东西比较实在,你可以先想一下自己打算做一个什么项目,项目周期多长。然后根据项目大小、周期和自己的能力来选择框架进行学习实践。

Good Luck!

PS. 这个是我用CI框架写的中国版Reddit -- 《91头条》

赞同00个回复
巴扎黑
3个月前巴扎黑

thinkPHP坑还是不少的,有设计失误,没人管,目前作者失踪,issue没人管.目前教程就thinkphp.cn这一个地方有,一本完整的书都没有,大牛可以用,初学者千万别用

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

选择yii你不会后悔,选择了tp你会后悔。

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

thinkphp 实用 挺好
用 Laravel 高大上

赞同00个回复
伊谢尔伦
3个月前伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

Laravel 你不会失望的

赞同00个回复
大家讲道理
3个月前大家讲道理

光阴似箭催人老,日月如移越少年。

只感觉Yii不错

赞同00个回复
猪哥
3个月前猪哥

认证0级讲师

我推荐CI 或者 TP3.1.x。
用过TP 3.2.x TP3.1.x CI cakephp laravel。
一开始觉得CI太简陋,其实他扩展性最强大。TP 3.2问题真的很多。
TP 3.1.x也是一个不错的选择

赞同00个回复
猪哥
3个月前猪哥

认证0级讲师

没人推荐YAF吗?新浪微博和百度贴吧都是用这个C语言写的PHP框架

http://www.laruence.com/manual/

赞同00个回复
PHPzhong
3个月前PHPzhong

PHP新手,求带!

赞同00个回复
黄舟
3个月前黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

我用thinkPHP

赞同00个回复
伊谢尔伦
3个月前伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

推荐laravel

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

laravel
必须推荐

赞同00个回复
阿神
3个月前阿神

闭关修行中......

PHP的框架都大同小异,个人觉得关键还是看项目的需求来选择框架。或者说你是要找一个框架来进行什么业务的开发,还是说是为了看框架的源码

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

强烈推荐学习laravel,你会发现在学习过程中,你会学习到框架之外的更多知识
1.如何翻墙,因为composer的安装和使用在墙内的速度是令人发指的
2.如何翻译,因为laravel的文档大部分是英文的,比如laravel5.1是6月发布的,直到今天10月19日,完全汉化的文档还是没有。
3.如何撕逼,你要对面用TP的人的不理解,用Yaf的人的鄙视,用Yii的人的试探的目光
4.如何运维,项目上线后,面对性能低下的问题你需要redis memcache opcache php7 hhvm 等等等优化性能的方案

赞同00个回复
小葫芦
3个月前小葫芦

祸兮福所倚 福兮祸所伏

https://github.com/lloydzhou/router
可以看看,算不上框架,只是个路由控制器,很精炼

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

可以先熟悉一些微框架如slim,silex,之后可以重点看下symfony的组件

赞同00个回复
迷茫
3个月前迷茫

业精于勤,荒于嬉;行成于思,毁于随。

很简单,去招聘网站,把这些框架一输入,看哪个热门学哪个,这也算是一种趋势。
ps:我公司用的是yii

赞同00个回复
刘奇
3个月前刘奇

走同样的路,发现不同的人生

Yii

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

第一个层次是PHP技术的深度学习:如PHP字符串、数组、文件和PHP的高级特性以及PHP运行原理等; 第二个层次是Web技术的深度拓展:如深入Http协议、Linux技术、Web服务器技术、前端JS技术、MySQL和NoSQL技术等;第三个层次是编程思想和能力的拓展:如数据结构和算法设计、设计模式、好代码的原则和技巧、大规模网站开发技术等。
按照这个提纲学下去吧:http://www.sijiaomao.com/course.htm

赞同00个回复
迷茫
3个月前迷茫

业精于勤,荒于嬉;行成于思,毁于随。

个人强烈推荐学习 Symfony

优点:
1. 文档非常齐全
2. 社区非常活跃
3. 企业级的框架,适合项目从小到大不断迭代的各个阶段
4. composer、自动化、命令行
5. 命名空间,完全面向对象的设计
6. 大量第三方包,加速开发进程
7. 设计非常棒的生产环境和开发环境,开发环境下完善的异常提示
8. 熟练后开发速度非常快,这个快不在于很快出一个demo,而在于能很快出一个完整的产品

缺点:
1. 具有较高的学习曲线,要花功夫去学会,新概念非常多,但学会后便是优势
2. 性能相对较差,但是后期有大量方式去优化性能
3. 还是学起来的时候会比较累,但是文档特别全,只要你肯花功夫就没有问题

赞同00个回复
Peter_Zhu
3个月前Peter_Zhu

PHP中文网讲师~~

如果想短周期上手thinkphp ci

其他 laravel yii phalcon

赞同00个回复
大家讲道理
3个月前大家讲道理

光阴似箭催人老,日月如移越少年。

个人推荐:PhalconLaravel4


http://segmentfault.com/q/1010000000435088

赞同00个回复
Ty80
3个月前Ty80

认证高级PHP讲师

生命苦短,我用Slim

理由?因为Slim不用学,开箱即用

赞同00个回复
迷茫
3个月前迷茫

业精于勤,荒于嬉;行成于思,毁于随。

看下 Github 最受欢迎的 PHP 开源项目, 跟着大家走, 准没错 https://github.com/search?l=PHP&q=+stars%3A%3E0&ref=searchresults&type=Repositories

赞同00个回复
刘奇
3个月前刘奇

走同样的路,发现不同的人生

强烈推荐:Phalcon, CI

Laravel重的一塌糊涂、向后兼容性差不说,代码风格方面还用tab来缩进!在当今这个4空格(PSR,PEAR,ZEND)甚至是2空格(Langspec)缩进的世界中,可谓逆水行舟,作者本人的信誉也有问题,Phil多次劝过他遵循PSR,作者答应了,FIG上也有了,却一直不改...更遑论其鼓吹的“优雅”和“性能超CI”了。

Laravel的可借鉴之处例如:IoC,DI,eloquent,Artisan这些Phalcon全都有,性能还更好(能比这个框架快的PHP框架不多了,唯一能抗衡的是YAF吧,但YAF那社区,那文档,呵呵了)。

Codeigniter的3.0就快要stable了,对2.0中一些领人诟病的地方也做出了相当大的改进(例如原生支持composer,高度兼容HHVM等),而且CI的快速部署、易于拓展、接近原生语法(学了就知道多么人性,多么简洁)的特性也使得它老当益壮,一些比较不错的第三方库更新频繁,其衍生框架Bonfire也是生机勃勃。

CI的主要缺点是:

  1. 缺少IoC/DI/ORM
  2. 缺少命名空间(其实我在用laravel的1年时间里也没见多少项目有贯彻通透的)
  3. 使用了单例模式(该模式已经considered an anti-pattern!)

至于Yii/ZendFramework/CakePHP/Slim/Swole/Symfony/Swoole,这几个框架,由于我本人没有接触过,所以没有资格评论,但就印象而言,这几个框架实在是让我打不起兴趣学习。

赞同00个回复
ringa_lee
3个月前ringa_lee

好好学习,天天向上

选择 PHP 框架,必须得看看 FIG 了:http://www.php-fig.org/

FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来,虽然不是 “官方” 组织,但也代表了社区中不小的一块。

组织的目的在于:以最低程度的限制,来统一各个项目的编码规范,避免各家自行发展的风格阻碍了程序设计师开发的困扰。有四套规范:

  • PSR-0 (Autoloading Standard) 自动加载标准
  • PSR-1 (Basic Coding Standard) 基础编码标准
  • PSR-2 (Coding Style Guide) 编码风格向导
  • PSR-3 (Logger Interface) 日志接口

本来我一直使用的是 ci 和 zend,不过正如 @shamiao 大大所说推荐的,我也正在变成一名 laravel 的粉丝。

前几天使用 esoTalk 搭了一个轻论坛 http://bbs.justjavac.com

论坛新地址:http://discuss.flarum.org.cn/

不过作者发 twitter 表示将开发 Flarum 替代 esoTalk。理由是 esoTalk 底层代码不够强大,那么新的 Flarum 系统呢,底层使用了 laravel 框架。


几周前,还有人对 toby 大大卖萌 http://discuss.flarum.org.cn/13-esotalk-toby

赞同00个回复