求推荐个比较好用的 PHP 框架。

2019-05-16 17:20:13 +08:00
 a1274598858
11571 次点击
所在节点    程序员
104 条回复
jowan
2019-05-17 11:38:01 +08:00
我使用过 tp3、5、ci3、laravel5、yii2、swoole、phalcon,简单说下我的使用方式和经验:


TP:国内使用范围广,社区活跃度高,开源但是社区显得比较商业化,二三线城市招人或找工作容易,成本低。3.X 系列比较老了,大概使用了 1 年,开发过五六个电商项目,使用过程中发现一些 BUG (如开启 DEBUG 模式下,在 Linux 和 WIn 下面的驼峰路由映射有问题),也提交过官方,不过那时候官方正在上线 TP5,5 系列的话也是属于现代化开发模式了,可以对比 Laravel5。


CI: 简单易用 性能好 使用超过两年,不过很多轮子都要自己造或者引入第三方包 3.x 系列的基本上一代产物了 相对于现代化开发实在太落后了 如果项目很小 对设计模式也不太要求的话大可放心使用


Laravel: 社区活跃度高 ,生态非常好,性能相对落后。重逻辑下哪怕优化做的很好 QPS 也比较感人,不过大多数情况下很少直达语言这个瓶颈,以我们的项目来说主要问题在 DB 和磁盘的 I/O,所以改善实现方式,大量采用 Redis 来做缓存来处理这些问题。主要是快发起来确实太爽,我目前使用的主力框架也是 5.5LTS 版本,牺牲点性能换来的高效程度目前可以接受,个别项目对并发要求高的用到了 swoole 来常驻内存加速。


YII2:个人觉得 JAVA 过来的应该比较容易上手,中规中矩,方便的 GII, 性能也比较可以,不过组件深度绑定的 bootstrap 还有后端资源管理令我无法接受,短暂使用过两个项目,如果深度定制化要动手的地方还是比较多,适合没有 UI 妹子的后端。


Swoole:注意是 4.X 版本,我主要配合 Laravel 使用,具体场景如异步通知、Websocket、物联网接口等,最好先学习并掌握多进程 /多线程,TCP/IP,SOCKET 等相关知识,不推荐新手使用。


Phalcon:这个用在个别金融项目的微服务项目里,时间用的不是太长,不敢随便评价,没碰到过什么大坑。


其实不管你用什么框架 如果你本身编程思想和技术不行 哪怕用 Laravel 也只能写出来难以维护的代码 反之亦然
没淘汰的框架既然存在都有他的价值 争论哪个框架牛逼实则没有太大意义 就算你拿 Yaf 去做一个日 PV 不到 200 的博客,也不能体现出他的强悍支出,具体看场景:好钢要用在刀刃上。
keepeye
2019-05-17 11:39:40 +08:00
工作上哪个最流行用哪个,别追求小众。所以我推荐 Laravel。性能不够机器来抗
zfy941
2019-05-17 11:41:28 +08:00
ThinkPHP5.1
sunmoon1983
2019-05-17 11:49:39 +08:00
@jowan YII2:个人觉得 JAVA 过来的应该比较容易上手,中规中矩,方便的 GII, 性能也比较可以,不过组件深度绑定的 bootstrap 还有后端资源管理令我无法接受

Yii3 已经不是这样啦!
yoshiyuki
2019-05-17 13:29:08 +08:00
yii2
zzfly256
2019-05-17 14:09:13 +08:00
@jellybool 没想到 jb 大佬也逛 V2EX 哈哈
luxiaokuo
2019-05-17 14:10:21 +08:00
@qianji201712 活捉大佬
jellybool
2019-05-17 14:24:19 +08:00
@zzfly256 你这个简称...
cszchen
2019-05-17 14:33:12 +08:00
Yii2 开发起来真的很快
Laravel 虽然流行,组件和包最多,但是开发起来没有 Yii2 高效

Yii2 的配置文件不如 Laravel 方便,其次默认加载前端资源这点也不友好。但是 Yii2 数据校验更易用,开发的时候这个用的最多。

这是我的使用感受,因人而异。
daqiaowijiu
2019-05-17 14:37:47 +08:00
别问问就是 laravel
FantaMole
2019-05-17 16:16:58 +08:00
商业项目还是用人多的好,不然要跑路了发现没人会这个,交接工作不方便
EvilCult
2019-05-17 16:49:15 +08:00
看到说 laravel 的这么多,我就放心了...
lccgsn
2019-05-17 17:10:41 +08:00
tp 不敢用 漏洞多
onepunch
2019-05-17 17:17:52 +08:00
symfony phalcon 比较好,不过上手还是有难度的 ; tp 很粗暴 相当粗暴 -,-
Varobjs
2019-05-17 17:20:30 +08:00
@qianji201712 原来大佬也是用 phalcon,之前用过一年多,也是另外大佬推荐的,感觉是用过最好的一个,现在是公司自己的框架。
因为很喜欢 phalcon,个人小项目又不想装扩展,就学(chao)习 phalcon,写了一个超简单的。233
cw1490908
2019-05-17 18:18:49 +08:00
phalcon +1
Actrace
2019-05-17 18:30:01 +08:00
很多人觉得 PHP 简单,其实 PHP 是最复杂的,因为它总是吸引你去了解各种框架,然后自造轮子。
最后,你会达到一个境界,所有的框架都是辣鸡,因为你可以根据业务随时撸一个框架出来。

突然想起一张很经典的 GIF 图(楼下的观众可以帮忙贴一下吗):
贱法,其第一层境界,手中无贱,心中有贱。
其第二层境界,人贱合一,手中无贱,心中亦无贱。
其第三层境界,那就不再是贱人,而是贱圣!
jziwenchen
2019-05-17 18:58:21 +08:00
Phalcon 没人提吗? 超级好用.
dvaknheo
2019-05-18 00:11:48 +08:00
其实,小白就只需要路由。

以前都是用 CI 对付过去。
看了 CI4 的代码,我觉得还是用 tp5 做路由吧。

其他东西,能不用的一概不用。


另外,对比一个框架,爆栈 调试也是常见做法。
laravel 除了性能,调试也不方便,容易让人不知头脑。
herozzm
2019-05-18 00:49:23 +08:00
phalcon 秒杀其他框架

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/564784

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX