做个框架选择小调研

318 天前
 brader
前提:
开发 API ,新项目,没有历史包袱,由你自己主导的项目,可自由选择 PHP 版本、框架。

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

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

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

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

至于 webman 个人也体验过,与其说是一个框架我觉得更像一个脚手架,相对简陋一点,自己需要完成的工作比较多,有一部分的设计有点草台班子的感觉,没有经过深思熟虑。但也因为简单所以个人/小团队相对容易 hold 住。生态部分尽量自己搭建,webman 社区的生态大多是个人作品,质量良莠不齐,使用需谨慎 review 过代码才能用。这个框架要我选我不选,你选我尊重。
GooMS
318 天前
@brader 我和楼上的看法一样,选择主看生态,至于性能问题一般不是在 io 就是业务上,优化三板斧都能解决。cpu 特别高的地方, 比如物联网广告联盟之类的基本都是写 es, 消息队列,时序之类 左手 nodejs 右手 go
BeforeTooLate
318 天前
>hyperf 、swoft 在 win 下开发个人感觉体验不佳
这个不太理解,win 下开发可以选择 vagrant 、wsl 等开发效率并不差
elevioux
318 天前
没有特定需求的,哪个熟悉选哪个,哪个生态好选哪个
herozzm
318 天前
phalcon
yiqiao
318 天前
Laravel 影响性能,换 Hyperf 又嫌开发环境不如意。就换个 虚拟机或 docker 的事。
难道生产环境是 Windows 吗?
不过 Hyperf 不能很好的像 Laravel 调试 dd 让我很不喜欢。
sadfQED2
318 天前
yaf
xiaotuzi
318 天前
我们公司一直用 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
318 天前
webman
8355
318 天前
php8.1+webman 简单好用,如果你有开发组件的能力可以用的很爽,官方的一些功能还是比较少,我们自己做了不少东西。
miaotaizi
318 天前
肯定 laravel 啊

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

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

https://www.v2ex.com/t/1005745

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

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

© 2021 V2EX