• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Ashore
V2EX  ›  程序员

PHP 大神? GO 大神?

  •  
  •   Ashore · Feb 16, 2022 · 7612 views
    This topic created in 1724 days ago, the information mentioned may be changed or developed.

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

    52 replies  •  2022-02-23 10:44:54 +08:00
    yxx1993
    yxx1993
    Feb 16, 2022❤️15
    1
    如果自己做项目,或者自己创业,我觉得用 php laravel 还是首选,大部分项目根本撑不到考虑性能的时候
    Ashore
    Ashore
    OP
    Feb 16, 2022
    2
    @yxx1993 哈哈哈 真实
    to2false
    to2false
    Feb 16, 2022
    3
    毕竟是个自媒体,夸大其词的屌样需要沿袭
    RickyC
    RickyC
    Feb 16, 2022❤️2
    4
    不存在的。一看就是小白。
    westoy
    westoy
    Feb 16, 2022
    5
    就是卖课的吧

    哪个语言自带流量, 哪个语言容易学让客户更容易觉得自己学会了什么, 搞卖课培训的就会往哪边转的
    ChrisFreeMan
    ChrisFreeMan
    Feb 16, 2022❤️9
    6
    我从来没有见过大神叫自己大神,大神都是有羞耻感的
    wmwmajie
    wmwmajie
    Feb 16, 2022
    7
    我倒是希望大家都用 go ,然后我偷偷用 php 。
    yEhwG10ZJa83067x
    yEhwG10ZJa83067x
    Feb 16, 2022
    8
    @yxx1993 等到性能撑不下去了,应该也赚到钱再招人转其他语言好了。
    R18
    R18
    Feb 16, 2022
    9
    我就是先用 PHP 实现功能,哪里的性能不够了,再 Go 重做一遍然后 nginx 反代过去。
    RickyC
    RickyC
    Feb 16, 2022
    10
    @wmwmajie php 不支持常驻内存,执行定时任务比较难
    liKeYunKeji
    liKeYunKeji
    Feb 16, 2022
    11
    php 高效又简单,不用 php 我还能用什么
    janxin
    janxin
    Feb 16, 2022
    12
    没事,过两天就发 PHP 转 Java 了
    apple2026
    apple2026
    Feb 16, 2022
    13
    如何屏蔽这种语言比较的帖子?
    sagaxu
    sagaxu
    Feb 16, 2022 via Android❤️3
    14
    php 的开发效率,靠的是 array ,不定义类型,array 套 array ,长期维护简直是灾难。如果定义好类型,开发效率恐怕要崩。
    zengzizhao
    zengzizhao
    Feb 16, 2022
    15
    @RickyC workerman 、swoole 了解一下
    tomaple
    tomaple
    Feb 16, 2022
    16
    @yxx1993 哈哈,好有道理,也真实
    ksoeasyxiaosi
    ksoeasyxiaosi
    Feb 16, 2022
    17
    @RickyC #10 2022 年了 稍微搜索一下都有很多解决办法
    LeeReamond
    LeeReamond
    Feb 16, 2022❤️1
    18
    @yxx1993 php 的灾难性来源于它的维护复杂度,性能是很次要的问题
    Wenco
    Wenco
    Feb 16, 2022
    19
    @RickyC 如果只是定时任务的话,crontab 不好用吗?
    Wenco
    Wenco
    Feb 16, 2022
    20
    @LeeReamond 说 php 难维护,举个例子啊
    Wenco
    Wenco
    Feb 16, 2022
    21
    @sagaxu Symfony 就是这么搞的,开发效率并没崩
    cocong
    cocong
    Feb 16, 2022
    22
    @sagaxu 这种多加几台机器就能解决,一句话,能用钱解决的问题都不是问题。
    ccandcc
    ccandcc
    Feb 16, 2022 via Android
    23
    @ChrisFreeMan 懂得越多越觉得自己不懂
    markgor
    markgor
    Feb 16, 2022❤️7
    24
    你们都是有多大的项目等着你去上啊....
    我自身经历而言:
    80%性能问题出在 mysql 身上,php 都是在等 mysql 的结果导致挂死,大量并发下问题更能复现。除了优化 mysql 语句和增加缓存机制,还能在 php 身上找问题?
    15%性能问题是出在带宽上,真的自己做过压测就知道了,别说 10k 并发,5k 并发所需的带宽是多少?而现在云服务器都是 5M~10M 居多吧?这个带宽下能支持多大流量?机器转包率能达到多少?
    5%性能问题是 phpfpm 机制导致的,比如无法有效实现连接池和常驻还有协程....但连接池 /常驻 一直有个叫 workman 的框架在支持,而协程则有 swoole 提供框架。

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

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

    javascript 同理。如果严格按新格式,新语法写,js 也很优美。
    james122333
    james122333
    Feb 16, 2022 via Android
    32
    @sagaxu

    可以定义函数专门用来产生某个 array
    可维护性是人搞出来的 一个语言不会因为本身限制多就写不出屎山 只要它为了完成複杂需求
    james122333
    james122333
    Feb 16, 2022 via Android
    33
    这样做还有个好处 当你需要改数据结构的时后会产生非常惊人的效果
    james122333
    james122333
    Feb 16, 2022 via Android
    34
    外面套个类给个命名空间都可以
    sagaxu
    sagaxu
    Feb 16, 2022 via Android❤️1
    35
    @james122333 #32

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

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

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

    最近十几年新创造的语言,能报的出名的,几乎都是静态类型的。
    james122333
    james122333
    Feb 16, 2022 via Android
    36
    @sagaxu

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

    完全可以用 Collection 和 Object[]啊,PHP8.1 之后,基本类型都完善了。
    Gav1n1995
    Gav1n1995
    Feb 17, 2022
    40
    就是个卖课的
    yogogo
    yogogo
    Feb 17, 2022
    41
    @RickyC
    #10 可以试试 laravel 框架
    daoqiongsi1101
    daoqiongsi1101
    Feb 17, 2022
    42
    @markgor 有一定道理。但语言的性能差异也是很明显的,你用 go 重构的 php 接口,逻辑一样,查询一样,go 接口用时明显少很多,压测更有优势。
    markgor
    markgor
    Feb 17, 2022
    43
    @daoqiongsi1101 #42
    这个确实存在,和 C++框架对比性能相差更厉害。
    问题是现实业务中,有多少业务能达到压测时的量,且外网带宽能支撑到这么大的量?

    大厂不缺钱没有这方面顾虑,所以他们可以根据本地压测来选择性能更高的语言进行开发。
    abccccabc
    abccccabc
    Feb 17, 2022
    44
    动不动就  laravel 框架,这玩意在 alpine 上出了一个问题,整得我是没法吐曹它了。
    xjqxz2
    xjqxz2
    Feb 17, 2022
    45
    无所谓~反正业务起来了比用什么语言更重要
    SillyChenBrother
    SillyChenBrother
    Feb 17, 2022
    46
    PHP 是最好的语言。
    daoqiongsi1101
    daoqiongsi1101
    Feb 17, 2022
    47
    @markgor 那你这就是明知道另一个性能更好,但是你就是不用。那就随便了。没达到这么高性能要求,不是理由,缺钱更应该考虑高性能语言,节省服务器成本。

    你如果偏向 php ,又是小团队快速开发,不反对用 php ,但这些不是不用 go 的理由。
    daoqiongsi1101
    daoqiongsi1101
    Feb 17, 2022
    48
    整个生态都是越来越摒弃 php 的,要跟随时代潮流了。
    xieyuheng
    xieyuheng
    Feb 17, 2022
    49
    PHP 越來越好了。

    Laravel PHP 取代 Rails 成为 Web Framework 之王的感觉。

    https://laravel.com/
    markgor
    markgor
    Feb 18, 2022❤️1
    50
    @daoqiongsi1101 #47
    >明知道另一个性能更好,但是就是不用
    你先去看看别人压测结果


    除了新冒出的 just-js 我不太清楚,但之前大多数都是 C++名列前茅,
    至此按你所说的, 为何你明知道一个性能更好的但你还用 go 呢?

    >没达到这么高性能要求,不是理由,缺钱更应该考虑高性能语言,节省服务器成本。
    在 5M 的带宽下进行压测,你真觉得 php 、go 、c++的结果会很大吗?
    建议你自己去试试,我之前测试过 nginx 和 webman 的性能对比(基于 5M 带宽下,2C4G ,不带数据库)。
    你如果自己真的有做测试,压测打下去的时候,带宽一个被打满,CPU 利用率基本在 20 以下所谓的 “节省服务器成本”从何而来?

    >你如果偏向 php ,又是小团队快速开发,不反对用 php ,但这些不是不用 go 的理由。
    我确实用 PHP 比较多,然后就到 nodeJS/PY/C#,因为部分项目无法单用 PHP 去解决,不同场景下选取不同的。





    @daoqiongsi1101 #48
    老实说,语言只是我赚钱的一个工具,谁被谁摒弃,谁又取代了谁,这个和我关系不大,而且无论 php 和 go ,两者都不是我开发的也不是我米饭班主,所以吧,我没你们那么上心今天谁又打败谁,谁又取代谁,但反观历史,哪怕 asp 被取代那么多年,我依然能看到 asp 的身影,所以你提到的“潮流”,"生态",“摒弃” 有实质意义吗?
    daoqiongsi1101
    daoqiongsi1101
    Feb 18, 2022
    51
    @markgor PHP 是世界上最好的语言!
    bugfan
    bugfan
    Feb 23, 2022
    52
    go 写个框架,开发业务很流畅啊,,,,, 但是还是推荐用 php 写业务,哈哈哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1778 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    ♥ Do have faith in what you're doing.