V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
richangfan
V2EX  ›  程序员

PHP5 太强了

  •  
  •   richangfan · 149 天前 · 5237 次点击
    这是一个创建于 149 天前的主题,其中的信息可能已经有所发展或是发生改变。

    接手了一个老项目,随便打开一个文件就是一堆报错警告,使用未定义变量,创建未定义类的对象,把非静态方法当静态方法用,创建对象不给构造方法传参,模拟一次登入请求就能输出错误日志,看得我目瞪口呆。

    这样的代码也能在线上跑起来,支持一家公司的业务发展,PHP5 真是太强了。

    24 条回复    2021-12-20 10:20:48 +08:00
    wukongkong
        1
    wukongkong  
       149 天前
    以前很多代码都这样吧~

    如果没有 ts ,js 也是一样的处境,特别是一些新手的代码。

    现在带项目,不写 ts ,很多东西完全没法控制。

    代码 review 太痛苦了,给自己找不自在。
    zehua
        2
    zehua  
       149 天前 via iPhone
    能跑就行
    youthfire
        3
    youthfire  
       149 天前 via iPhone   ❤️ 2
    其实很多远古程序的实现,尽管从现在看毫无规范性可言,但往往充满了很多智慧,技术的实现借助于各种“旁门左道”,最妖的是稳定无 bug ,因为已经被打磨太多次了
    gstqc
        4
    gstqc  
       149 天前   ❤️ 3
    代码和前开发者都能跑,看起来不错了
    WriteCloser
        5
    WriteCloser  
       149 天前   ❤️ 1
    PHP 哪有这多心智负担,错误级别调高一点眼不见心不烦
    qeqv
        6
    qeqv  
       149 天前
    生产环境关掉报错呗,开发环境屏蔽掉 E_NOTICE E_DEPRECATED E_WARNING
    WebKit
        7
    WebKit  
       149 天前 via Android
    印象里 php 难道不是一个动态类型的语言吗?跟 js 一样。变量随用随申请吗?
    感觉你这跟 2021 年指责当年诺基亚死磕 wp 一样
    dcoder
        8
    dcoder  
       149 天前
    再怎么烂的东西,只要肯堆人堆时间反复测试修理,总能在 prod 上跑起来.
    接手这种代码,就尽量不要改... LOL
    Kylin30
        9
    Kylin30  
       149 天前
    为了过个好年,建议申请重构。
    emeab
        10
    emeab  
       149 天前
    @Kylin30 申请重构才不能过好年. 出啥问题都让你背锅.XD
    qeqv
        11
    qeqv  
       148 天前
    @Kylin30 老项目最佳处理方式就是旧代码一个字也别动
    MengiNo
        12
    MengiNo  
       148 天前 via Android
    PHP 就是这样,乱写都可以。有经验的可以给你写的胡里花哨,甚至写成 Java ,没经验的搞个什么 lamp 鼠标点点就能跑。所以说 PHP 开发就是快,不在乎这些有的没的,就算业务模糊也可以很 hack 的去魔改减少改动。
    lyz1990
        13
    lyz1990  
       148 天前 via Android
    能支撑业务挣到钱才是关键
    loginv2
        14
    loginv2  
       148 天前
    最强的是这个代码迁移到 php7 大部分是不需要改动的写的好的项目甚至不需要改
    lifeintools
        15
    lifeintools  
       148 天前
    PHP5 时代 基本就是能跑就行~ 后面慢慢越来越严格 框架也越来越规范。。逐渐 java 化
    512357301
        16
    512357301  
       148 天前 via Android
    php 变量不是可以直接赋值的吗,需要定义吗,js 我知道有 var/let 可以定义变量,PHP 有吗或者说需要吗
    richangfan
        17
    richangfan  
    OP
       148 天前
    @WebKit 他这个使用未定义变量错误是调用函数时的参数是一个未定义变量
    maomaosang
        18
    maomaosang  
       148 天前 via Android
    以前老版本的 dedecms (大概是 5.1 ?),你如果把 notice 报错打开,会发现加载个页面满屏都是报错。但是不妨碍它成为中国站点数最多的开源 cms 。
    以前很多 phper 的做法就是关掉 notice 来编程,他们以为语言特性就是这样(比如可以动态调用静态方法)的。我还遇到过程序员振振有词跟我说可以直接调用 array 中不存在的 key ,“把 notice 关掉就可以了”。
    code4you
        19
    code4you  
       148 天前
    能让你挣钱的语言 就是好语言 😁

    PHP5 算啥 用 asp 、vb 挣钱的都有😏
    MengiNo
        20
    MengiNo  
       148 天前 via iPhone
    @512357301 PHP 反而把 var 这个关键字 废弃了 2333
    MrBrother
        21
    MrBrother  
       148 天前 via iPhone
    @maomaosang

    😂 这个情景看笑了
    DOLLOR
        22
    DOLLOR  
       148 天前
    @MengiNo 其实 js 在 es6 后也把 var 淘汰了,倒是 java 开始用起 var 来了。
    moen
        23
    moen  
       148 天前
    @DOLLOR 这两个不是一码事
    learningman
        24
    learningman  
       147 天前
    @DOLLOR #21 java 的 var 是 C++的 auto ,js 淘汰 var 是因为全局变量危害太大,也没说不让你用
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1076 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 131ms · UTC 21:29 · PVG 05:29 · LAX 14:29 · JFK 17:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.