PHP5 太强了

2021-12-18 23:40:13 +08:00
 richangfan

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

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

5936 次点击
所在节点    程序员
24 条回复
wukongkong
2021-12-18 23:42:56 +08:00
以前很多代码都这样吧~

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

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

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

PHP5 算啥 用 asp 、vb 挣钱的都有😏
MengiNo
2021-12-19 12:32:30 +08:00
@512357301 PHP 反而把 var 这个关键字 废弃了 2333

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

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

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

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

© 2021 V2EX