PHP 大神? GO 大神?

2022-02-16 10:07:04 +08:00
 Ashore

以为是什么高大上的理由转 go ,点开一看就是什么大厂秘籍啥的。恶心心

6221 次点击
所在节点    程序员
52 条回复
Wenco
2022-02-16 11:57:57 +08:00
@sagaxu Symfony 就是这么搞的,开发效率并没崩
cocong
2022-02-16 12:07:49 +08:00
@sagaxu 这种多加几台机器就能解决,一句话,能用钱解决的问题都不是问题。
ccandcc
2022-02-16 12:10:00 +08:00
@ChrisFreeMan 懂得越多越觉得自己不懂
markgor
2022-02-16 15:08:56 +08:00
你们都是有多大的项目等着你去上啊....
我自身经历而言:
80%性能问题出在 mysql 身上,php 都是在等 mysql 的结果导致挂死,大量并发下问题更能复现。除了优化 mysql 语句和增加缓存机制,还能在 php 身上找问题?
15%性能问题是出在带宽上,真的自己做过压测就知道了,别说 10k 并发,5k 并发所需的带宽是多少?而现在云服务器都是 5M~10M 居多吧?这个带宽下能支持多大流量?机器转包率能达到多少?
5%性能问题是 phpfpm 机制导致的,比如无法有效实现连接池和常驻还有协程....但连接池 /常驻 一直有个叫 workman 的框架在支持,而协程则有 swoole 提供框架。

所以我觉得大多数场景下,遇到的瓶颈并不是“语言”导致的。
mrgeneral
2022-02-16 15:24:18 +08:00
还在纠结语言的,也不是啥大神
wangnimabenma
2022-02-16 15:29:32 +08:00
昨天韩教主在 swoole 群分享了一个 GO 的开源工具 XMM 我就在想,PHP 是不是。。。
Yolver
2022-02-16 17:47:18 +08:00
我记得这个公众号日常卖课吧。。。。没啥干货
wmwmajie
2022-02-16 18:14:56 +08:00
@RickyC 常驻进程问题的解决方法太多了,你随便搜一下就行。
keepeye
2022-02-16 18:20:16 +08:00
纯 CRUD 项目 PHP 那一堆框架弄起来是很快,但也快的有限
bilberry
2022-02-16 18:36:05 +08:00
取关
flowerpiggy
2022-02-16 18:43:45 +08:00
@Wenco

难维护的原因主要在于像 php 这样的老语言,版本多,向下兼容,老代码多,同一项目里有按 php 4 写的,有按 php7 写的,有按 php 8 写的。

javascript 同理。如果严格按新格式,新语法写,js 也很优美。
james122333
2022-02-16 19:02:38 +08:00
@sagaxu

可以定义函数专门用来产生某个 array
可维护性是人搞出来的 一个语言不会因为本身限制多就写不出屎山 只要它为了完成複杂需求
james122333
2022-02-16 19:37:39 +08:00
这样做还有个好处 当你需要改数据结构的时后会产生非常惊人的效果
james122333
2022-02-16 19:42:09 +08:00
外面套个类给个命名空间都可以
sagaxu
2022-02-16 20:01:21 +08:00
@james122333 #32

定义函数专门用来产生某个 array ,没有用的,接手项目的人,或者几个月后的自己,看到这个函数,并不能一眼看出这个 array 有哪些字段以及每个字段的类型。你这个函数里,可能又调用了别的函数往这个 array 里写东西,那么你要继续读别的函数,层层追下去,你要读很多个专门产生 array 的函数,才能了解全貌。

我见过各种办法试图解决这个问题,比如在每个函数的注释里,写明返回值的 example ,也有在注释里挨个字段写说明。这些做法会显著降低开发效率,还不如明确定义好类型清晰可读,还能自动生成接口文档。

最近十年 PHP 一直朝着明确类型定义的方向努力,比如类的成员可以指定类型,甚至可以指定是不是允许为 null ,参数和返回值也是如此。有了类型约束,静态检查工具和重构工具也更强大,能把很多错误消灭在写代码阶段。

最近十几年新创造的语言,能报的出名的,几乎都是静态类型的。
james122333
2022-02-16 20:13:35 +08:00
@sagaxu

本来就是种取舍 然而这种方式还是比都是类别好多了 你不是总是 array. 如果你会写 multilevel array 一样一目了然 不用一直往下追类别
Wenco
2022-02-17 00:21:00 +08:00
@flowerpiggy 但这是人的问题
coolmenu
2022-02-17 07:11:54 +08:00
只听说过 91 大神!
encro
2022-02-17 08:45:37 +08:00
@sagaxu

完全可以用 Collection 和 Object[]啊,PHP8.1 之后,基本类型都完善了。
Gav1n1995
2022-02-17 09:06:58 +08:00
就是个卖课的

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

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

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

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

© 2021 V2EX