标题就是我的疑问,还请各位大佬嘴下留情,小人普通码农,混口饭吃,之前写 php 的时候用过一段时间的 swoft ,对 php 常见的生态不算特别了解,但是用了 4-5 年吧,go 火了以后,写了两年 go ,现在手上有个小项目,准备用 php 来操刀(相比 go ,拍黄片还是熟悉的更多),主要是图快和生态,但是不想选择 laravel ,因为项目有网络协议和纯服务端的要求(相比之下有点重了)
swoft 好像没维护了,easyswoole 没用过,听说 hyperf 的语法挺相近的,起了个 3.0 的项目,发现又双叒叕不会 PHP 了,差不多半年多没跟进 php 的框架进度,现在已经演化到 node 的时代了吗?
非引战,纯询问,希望各位佬能给出学习方向已经未来 PHP 的方向,可吹可皮

换个框架就不会了 是不是应该反思一下自己 有没有深度学习 php....

还好吧,你依然可以用 fpm 形式运行 PHP 。框架也不少啊

没必要 swoole 。我就一个 fpm 一个后端程序员,一个 4 核 8G ,也能一年跑上亿的营业额。数据库优化好点,即使长链接我都不用 swoole 之类的。我项目主要用 yii 和 symfony 。但是新项目我打算用 TS 。以后要和 PHP 说 88 了。

这业务厉害

laravel 把 php 代入了死路

也有能力问题吧,不过确实感觉有点过于复杂了,之前 2 我还专门看了他们 hyperf 的教学视频,自己也操作了一番,现在看 3 ,完全一脸懵逼,好多组件被抽出去,需要单独安装,人麻了

确实,也可以用 workman ,甚至直接用 go ,主要是老项目是 php 写的,我想平滑迁移,服务器很垃圾,个人项目,烧不起钱,纯靠优化

多了几个框架 就生态复杂了 楼主要看看 js 大杂烩 才知道什么是复杂 js 把 css,html 的活都包揽了

用 PHP 且纯网络可以试试 webman 轻量一些;未来的方向:laravel 全栈快速产出 MVP

你先将 fpm slow 拉出来,看慢在哪里再优化。。。不要瞎折腾,没到百度,非死不可级别,没必要用什么 swoole 之类的。

重能有多重,访问都没几个,再重能影响到哪儿去,真并发大了就加机器。人家 Drupal 钩子满天飞,一个页面上百个 sql 都不怕。

基于网络的,长链接这块,不用装 php 扩展。。。也可以用 : github.com/ratchetphp/Ratchet github.com/reactphp/reactphp

我方祭出 虚拟服务器 1h1g ,阁下如何应对,用户在 200-300 左右吧,服务不复杂,就是中转请求,带宽 100m 按需计费,业务各种报表算

我不是在上面提了一嘴> 差不多半年多没跟进 php 的框架进度,现在已经演化到 node 的时代了吗?

#3 TS 是 TypeScript 吗? #6 laravel 11 也移除了些东西,相对于之前版本「轻」了hyperf 不是和 laravel 很相近吗?会 laravel 对 hyperf 上手没有什么难度laravel 相比其他框架生态是比较好的,有什么问题随便一搜就能出来。

不是过于复杂吧,现在社区呈现一种非常割裂的状态,目前社区为首的 learnku 和 tp 社区都没啥高质量的内容了,还有现在也没啥人活动了。hyperf 的社区没怎么活跃只是少部分人的拥趸

虚拟服务器 1h1g 去乞讨吧。。。。不配请我。。。

TS 是 TypeScript 。主打一个全干,以前 php+jq 全干,现在是 ts 全干。

laravel + livewire 爽翻天 连 js 都不用写

“hyperf 不是和 laravel 很相近吗?会 laravel 对 hyperf 上手没有什么难度”正如上面所说,文档中确实多次提到某个库是根据 laravel 进行魔改的我举个例子,按照 hyperf 的文档进行快速入门,结合 一个 demo 库( demo 库地址: github.com/limingxinleo/hyperf3.1-demo )在 demo 中,作者用了一个包 命名空间是:Hyperf\Constants\Annotation\Constants包名是:hyperf/constants您猜怎么着,他不是默认安装的我对此产生疑惑,首先我拥抱组件化带来的轻便,其次,作为二进宫的 小白,一个轻便且在 2 的时候还能直接使用的并且挂靠在 Hyperf 的命名空间下的,文档没提到任何描述,并且 demo 的时候他摇身一变,到处应用据我所知,laravel 并没有如此操作(当然这也可能是尾大不掉的问题),但是这对 hyperf 的门槛是否(手动抬高)???

各位评论官们,小人的疑惑只是对于 PHP 现在的框架生态变化,hyperf 只是一个引起的点,不作为攻击或者任何目标,只是在 golang 、rust 、ts 、node ,各种 web 生态环境大乱斗的情况下,php 作为老牌杀出重围的一位“世纪选手”,养活了很多国内市场(包括我)在内的家庭我的核心问题是 对于现有 PHP 的生态环境是否过于复杂的讨论,当然也是个人困惑,尤其是面对 go 语言日渐壮大的群体,在这样的考量下,真的追求性能就 phper to goer ,我还是满坚信不是 PHP 不行,是我不行的至理名言的最后求各位手下留情,我 PHP 天下无敌

2024 居然还在讨论 PHP ?

我还是会选 Go 为主+Python 为辅,虽然曾经也用 PHP 😝

livewire 产品认不?

没看懂你到底想要什么。到底是一个网络协议框架还是一个业务框架?

#23我这边是 go + php ,主要是 go 写 web 体验比 php 差一些。

我不做选择,我都要

赞同+1

是 PHP 卷不动了,然后卷 GO ,现在 Go 也卷不动了,快来门新语言,让他们卷起来。

midway.js 配合 TS 真的很高效,再加上 midway.js 丰富的组件,可以满足多数应用场景了。

#27这种大杂烩。。要不你试试 workerman 这个生态圈的?

workerman 有一个痛点,他的开销太大了,我机器本身就垃圾,然后我任务又多,压榨不了多少

先声明,我写了十年 PHP ,网络方面我很少接触,95%是在写业务 CURD 。PHP 在纯一个 web 端。不论是展示,还是 API 模式。普通 PHP + Mysql 绝对够用的。不够用肯定是硬件不到位。以前 5.X 时代怎么过来,7.X 还是一样。8.X 还是一样。这是 PHP 优点,也是缺点。如果你说高并发高可用网络协议,这已经不属于 PHP 可以调解的了。这时候还局限于 PHP 就不对了。这就是为什么 GO 会拿下 PHP 这方面份额,因为 GO 天生就是是干这个的。

你搞这半天收益都没加个机器来的大?

#32那只剩 swoole 了,你要不想用的话似乎没别的比较稳定的了。。想优化还是得改架构,完全放弃 php 或者部分组件放弃。

老哥这话没毛病,但是 php 从 7 开始,逐渐ლ(′◉❥◉`ლ)魔幻,也开始追求性能上的最优解,我只是不明白,在这样的趋势下,为什么生态有种拖后腿的感觉

在迁移了,一口吃不成个大胖子

没钱啊,就是稳定,时不时有口饭吃,垃圾节点就能扛,云厂商有活动,直接组分布式乐开怀

现在在卷 rust

生态不复杂(对比前端来看),php 的生态是真滴简单。

#36生态拖后腿这个事,其实我更倾向于是历史原因导致的。php 正如他最开始的全称一样,纯 web 场景非常多,发展倾向也是比较偏 cgi 的,这也就导致不管是 php 本身还是其生态都对某些方向相对比较冷(而且还有积重难返的情况在,兼容性破坏很要命)。go 等语言先天就不止局限在 php 所在的主要场景上,所以他的生态发展在方向上会比 php 热闹很多。这也是为什么 php 走下坡路这么快的原因。

楼主,你的需求不高。我 1H1G 安装了 3 个 php 版本。跑得很嗨。你说用户才 300 左右,不多。一个 TP 或者 laravel 应该可以搞定。

#5 怎么说

PHP 生态相对前端生态,还能较复杂吗? PHP 环境 + composer 就能开发了啊

我的意思 PHP 生态已经很简单了,所以拿个前端对比下

php 最大的优势还是在与 fpm 模式下 web 业务的快速开发,你既然有网络协议相关的需求,那就用 go 写,然后用 php 调用就可以了。没必要用一个语言去做它最不擅长的内容。

纯 API webman 呗 swoole 项目不能复用 composer 生态别搞!

我是 PHP+go 项目都有,现在有种错觉,写多了 go 的静态强类型,写 php 有点没安全感😂

#48有安全感的东西几乎都是不"爽"的,很少有例外。所以这也是为什么我某些个人项目还是拿 php 糊,因为他真的很爽啊。

我是面向工资编程,摆烂很久了,毕竟我在 N 线城市

我的感觉是因为 PHP 想要写出来非常容易,但想写好很难。

我现在仍然偏执的认为,做不到是我的问题,不是 PHP 的问题

PHP 在 v2 不是甭管什么水平的都要踩一脚的嘛 有啥好讨论的laravel 我也用,但我不会它推荐什么生态就跟着用什么,它那个 homestead 开发环境我就没用过 但我折腾过 wsl 跟 Linux 虚拟机开发环境 自己玩喜欢用新东西 但实际开发还是怎么简单怎么来 基于项目大小跟工资选择技术栈 我只当自己打工的就好像我并不喜欢 tp 但如果入职了一家工资氛围都能接受的公司 只是用了 tp 那我也会入乡随俗下班了有兴趣可能会折腾一些东西 但现在手蛮劳损的 下班尽量休息娱乐了 跟 v 友们比起来自然是相当摆烂的

网络协议通信选 swoole ,我有 N 多个线上 swoole websocket 服务,多年来从未出过问题

php 的宇宙级应用 wp 已经宣布抛弃 php 了

没必要折腾 swoole 那套东西, 等到需要用 swoole 了, 说明该换个语言实现了

#55 有链接吗,搜了下没找到官方的

zhuanlan.zhihu.com/p/694429663 这不是说了很久的么

php 哪里复杂了,就这么点东西,都快凉了的语言能复杂到哪里去?PS:1c1g 算啥,我服务器,0.5c 512M 10G 磁盘的服务器上面,部署了 php-fpm 、nginx 、2 个 golang 项目、redis 、mysql ,然后用 docker 管理服务,跑了几年了也没问题。php 项目是我弟在深圳一个理发店的小程序、公众号,服务器月 300G 流量,通过白嫖 CDN 的方式,存了几万张图片啥的,年流水百万级别。

你让鸟哥来整 laravel 看看他会不会

非得踩 php 的应该只会一门语言...每个语言他擅长的部分php 写 web 真的很容易 部署起来也简单一般的项目接触不到因为一门语言带来的性能问题

web 端生态已经极致完善了。但是 PHP 也没打算涉足更广的业务,我不懂 C ,也没看多少 PHP 底层,只是觉的 PHP 在非 web 端不够发力,这么棒的语法,用在写小工具上,怕要卷死一推语言了。

PHP4 核 8G 跑上亿营业额绝对算奢侈了

两三百个用户,都是同时在线吗?否则 1c1g 也够用了,最大的担心是 mysql 会不会出现 too many connection ,memory resize 之类的除非你的程序不是常规的业务否则不管是 fpm 还是 socket ,瓶颈都不可能在程序端什么东西都要花时间学习的,swoole 这类框架,已经跟 php 开发没有很大关系了他有其他更多的坑需要踩

写 php 方便刻轮子 毕竞内建函数就可以做很多事 一般 plugin 如 db 性能也很给力 毕竟是用 c 写的 现在来看还是不错 新版的内建类型检查也不错 可静可动 缺点就是纯解释器以及出现了引入複杂度的重型框架go 最大痛点就是没办法写 multidimensional array 精简化的那种 直接表示出结构 外加 go 整个包并不轻量 安装就是几百兆大小 针对嵌入式的 tinygo 更是破千兆包大小 与 tiny 两字沾不上边 只不过相比 java 还是好一点 毕竞还是可以写出简单又运行不错的程序 替自己省下烦恼

至于很多人强调的生态很不认同 尤其是过重的生态 那是奴役人用的 程序应该是开发者的工具 而不是程序员整天为了学一些没有营养的疲劳轰炸 到最后寿命没了挂了

和 java 比呢? 有人吐槽 java 的生态吗?

所以 php webapi 推荐什么框架上呢

大大强啊,传授下白嫖 CDN 的方法

建议看 symfony

我个人感觉以前框架不是完全面向对象,现在的框架更抽象,只是要个习惯过程。

你的目标是完成项目,还是用最新的框架做一个项目?

动态一时爽,重构火葬场。最近公司项目迁移 php 到 go 的心得

你是上了就用框架写 PHP 么,我是 13 年从 PHP 入坑开发的,当时也没有什么框架,yaf 算当时比较好的选择,但是我个人项目,私活都是用 PHP 原生开发,就自己写个简单的框架,CURD 那套,后来 laravel 啥的上手也没有多费劲,感觉是 OP 没有把基础打好吧。PS:现在会 N 种语言,发现它们有自己擅长的方向,不要被框架束缚了, 多了解一下原生语言。

没办法,有 1000 多个客户端长连接,还有一堆文件和图片要处理。省不下来了----再省不划算了。

php 已经进化到这个阶段了吗?我还停留在 fpm 时代...😨

不只是项目问题,你们有没有觉得.以前都说 php 开发上手快.但是我发现这个上手它是不是只包含写代码的部分,不包括搭建环境啊.给 php 加 mysql redis mq 等等一堆扩展后.我真觉得 php 的开发环境搭建过于不友好.

补充,近十年 php 目前 java go 都在做.对比来看,开发环境这方面 php 真的麻烦许多,mq 甚至要自己编译特定版本.

这样么,不是直接 pecl install mq 么。😭

PHP 生态也不好啊,最近几年新出的东西,很多不提供 PHP 的 SDK ,比如 OpenAI ,Java/Python/Go/.NET/JavaScript 都有官方 SDK ,PHP 是没有的。就业市场 PHP 也是萎缩的十分剧烈,好像用 PHP 的公司消失了一般,都改用 Go 了,及早放弃 PHP 吧。

简单可以用 php 的微型框架 slim 跟 Go 的 gin 一样只基本只提供一个路由支持, 其他的可以通过 composer 来添加你想要的功能. 我们现在也还在用 PHP 还是用的 Laravel,做跨境业务,周流水都在百万美元左右, 机器也不多就 3 台机器, 一台 8C16G MYSQL 2 台 4C4G 的做 PHP 服务器一样跑的顺顺的.

#48 PHP 也可以设置强类型

php 的生态繁荣不是好事么,正好说明还有人在玩。但是,你可以选择不用框架啊,直接写原生就好,什么负担都没。

webman 挺好的 Laravel 不习惯,以前用 yii2 多,现在自己干活都是 webman 了

我也刚好 13 年入坑的。。。团队把 discuz 简化了下弄了个框架
能上 v 站你还问我怎么白嫖 cdn ? v 站这么多图片有几张是自己存的?

我记得年前看过一篇写 PHP 的文章: www.zentao.net/dynamic/php-report-zentao-83020.html

drupal 有页面静态缓存技术,其次主要做内容管理,真项目要那样玩早卡死了

PHP 最大的问题是安全问题,这玩意儿号称安全人员的衣食父母

以 rabbitmq 为例,印象中需要先编译安装 rabbitmq 然后 pecl 安装 amqp 扩展 还需要指定 rabbitmq 安装目录什么的.反正觉得不方便.相比较 maven install 或者 go mod tidy.麻烦了很多.

现代 php 社区 symfony 一家独大,其他框架开 symfony 轮子传统 php 基本就那些经典项目,有一些也开始开 symfony 轮子了要玩协程的话选择就没有那么一目了然了

symfony 确实太强了,好多流行框架底层都是他,看得我一脸懵逼

1h1g 编译 swoole 扩展都很吃力吧,对配置吃紧就用 go 吧。 我觉得语言没有高低之分, 合适的场景就应该选合适的语言

我做了很多年的 php ,后来做运维,各种 php 的调优, 后来转了写 golang 。我认为这个框架把 php 代入死路的原因就是,本来 php 的性能就是短板,不管是网络的 io 性能还是执行效率。但是 laravel 做的呢,就是把 php 代入到一个极致复杂,近乎不考虑性能的地步啊。你本身就有一个短板,被人抓住小辫子。还把这个鞭子做大做强。这不是代入死路吗?关键是还有一堆忠实的拥趸,认为效率不重要等等。确实,我们公平的看,我们做的很多都是中小项目,不那么重药。但是站在决策者的角度,和我们做事的角度能一样吗?有明显的问题,说服不了决策者。就是死路一条了。

symfony 和基于 symfony 轮子的各种现代化 PHP 框架基本都有缓存构建,在执行前都会编译,实际没有那么慢况且放在所有 web 里这也不是最慢的框架,其他语言大把更慢的框架不一样有人写

人多钱多是这样的

thinkphp 完全够用

只有我最 low, 没学习任何 PHP 框架,我写的“原始”PHP 都跑在 IIS 环境,偶尔 apache.

不复杂,java 是必学 Spring 系列,基本被统一了。php 就没有这个要求 FPM:yii laravel thinkphp swoole workerman 各自有各自的风格,甚至自己手搓一个框架都可以。挺好的

laravel 说服了决策者,因为它拥有完善的生态