做个框架选择小调研

2024-01-04 12:00:45 +08:00
 brader
前提:
开发 API ,新项目,没有历史包袱,由你自己主导的项目,可自由选择 PHP 版本、框架。

现在的你会选择什么框架呢?

说下我的选择:
我会选 thinkphp 、webman 吧。我比较常用 thinkphp ,webman 是我挺想在生产中尝试的框架。

不选其他的一些个人考虑:
hyperf 、swoft 在 win 下开发个人感觉体验不佳,实际运行中还存在一些奇怪的问题比较难以解决。
laravel 做后台基本是我首选,但用他作为 API 太重了,影响性能,以前吃过这方面的亏,包括 lumen 也折腾了不少。
4212 次点击
所在节点    PHP
45 条回复
GooMS
2024-01-04 12:29:18 +08:00
Laravel 做 api 不行然后换 thinkphp 就行了。这个决策逻辑像过家家
brader
2024-01-04 12:32:11 +08:00
@GooMS 这只是出于我个人经验考虑出发做的选择和观点。每个人看法可能不同,现在就是做个调研,大家可自由发布选择。
dzdh
2024-01-04 12:33:53 +08:00
影响性能也该有个可量化指标和负载场景。我不认为国内有哪个项目因为框架性能导致业务运行不下去的,相反真因为 laravel 导致的明显的性能问题,我认为这项目的盈利已经足以弥补性能问题了。
javalaw2010
2024-01-04 12:52:41 +08:00
普通业务直接 laravel + octane 。吃性能的上 hyperf 。windows 上开发 PHP 基本都是基于 wsl2/docker 的了,问题不大。

永远不会选择 thinkphp ,尝试使用过 tp 做过业余项目,这个框架乍一看还堪用,但是其实非常脆弱,要么是特性/用法文档上完全没提(这都算好的,翻翻源码也能知道),要么特性在冷门一点的 case 上直接不支持,官方包也是问题多多,出现过安装官方包根本没法运行的情况,还得自己去改源码做适配。

至于 webman 个人也体验过,与其说是一个框架我觉得更像一个脚手架,相对简陋一点,自己需要完成的工作比较多,有一部分的设计有点草台班子的感觉,没有经过深思熟虑。但也因为简单所以个人/小团队相对容易 hold 住。生态部分尽量自己搭建,webman 社区的生态大多是个人作品,质量良莠不齐,使用需谨慎 review 过代码才能用。这个框架要我选我不选,你选我尊重。
GooMS
2024-01-04 13:08:32 +08:00
@brader 我和楼上的看法一样,选择主看生态,至于性能问题一般不是在 io 就是业务上,优化三板斧都能解决。cpu 特别高的地方, 比如物联网广告联盟之类的基本都是写 es, 消息队列,时序之类 左手 nodejs 右手 go
BeforeTooLate
2024-01-04 13:18:05 +08:00
>hyperf 、swoft 在 win 下开发个人感觉体验不佳
这个不太理解,win 下开发可以选择 vagrant 、wsl 等开发效率并不差
elevioux
2024-01-04 13:24:18 +08:00
没有特定需求的,哪个熟悉选哪个,哪个生态好选哪个
herozzm
2024-01-04 13:41:31 +08:00
phalcon
yiqiao
2024-01-04 13:46:00 +08:00
Laravel 影响性能,换 Hyperf 又嫌开发环境不如意。就换个 虚拟机或 docker 的事。
难道生产环境是 Windows 吗?
不过 Hyperf 不能很好的像 Laravel 调试 dd 让我很不喜欢。
sadfQED2
2024-01-04 13:52:23 +08:00
yaf
xiaotuzi
2024-01-04 13:56:34 +08:00
我们公司一直用 easyswoole ,类似 hyperf 的框架吧,也是 php-fpm 启动。
对于框架,lavarel 用的少,社区很大,但是感觉比较多东西在里面,不喜欢他的优雅,什么都是 composer 一把梭,thinkphp 和 easyswoole 用的多,简单就是 CURD 方便,hyperf 和 webman 没有用过,不过了解了一下,差不多。
最近还看了下 phalcon ,说是调用的 C 语言的模块,单独写了一个模块,加入到 php.ini 里面,windows 还没起来过,linux 比较方便。

呐,我个人可能会选择 Go 语言来写 api ,说实话,PHP 框架就那一套,用数据库类,业务代码写来写去都是 CURD 这样。各个都说高性能,算了直接用高性能的 Go 就完事了。

一方面 go 天生有高并发的优势,另一方面,不要老是学 PHP ,限制了自身发展。

如果非要选择 php 框架,我会选择 thinkphp 吧,无它唯手熟尔。

BTW ,你自己写个框架玩玩也挺不错的。框架就是搭建好的脚手架。
codespots
2024-01-04 14:00:06 +08:00
webman
8355
2024-01-04 14:00:56 +08:00
php8.1+webman 简单好用,如果你有开发组件的能力可以用的很爽,官方的一些功能还是比较少,我们自己做了不少东西。
miaotaizi
2024-01-04 14:01:00 +08:00
肯定 laravel 啊

开发快才是王道, 只要不是你人为造成的性能问题都不是问题
dongisking
2024-01-04 14:06:12 +08:00
hyperf ,有 laravel 的优雅,也有实现 AOP 的特性,并且基于 swoole 还有协程。
Immortal
2024-01-04 14:08:04 +08:00
现在没人用 yaf 了吗
codespots
2024-01-04 14:16:49 +08:00
@Immortal 不好用,性能相比 Swoole 、Webman 并没有优势
ersic
2024-01-04 14:20:32 +08:00
在用 webman ,挺好用的。
brader
2024-01-04 14:22:57 +08:00
@BeforeTooLate 这正是我反感的地方,你说的这些我都折腾过一遍,用这个或多或少的会遇到其他坑需要填,或者会牺牲一些开发上的便捷性
brader
2024-01-04 14:26:03 +08:00
@yiqiao 经历过的生产环境,95%以上是 linux 。
开发环境的话,什么虚拟机、docker 、wsl 等等都折腾过,最后依然是回到了 win 环境,直接装个 phpstudy 完事,开发起来最舒服

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

https://tanronggui.xyz/t/1005745

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

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

© 2021 V2EX