PHP如何处理已弃用的函数?

Jam*_*Lin 15 php deprecated

获取这些错误"已弃用:不推荐使用引用分配新值的返回值..."

虽然我知道弃用函数意味着什么,但我不是很清楚PHP对它们做了什么?还是像往常一样执行它们?所以在这一点上,对于这个函数,PHP是否默认为变量分配内存位置还是仍然使用引用指针?

编辑 - 谢谢你的答案,我问了这个问题因为我们正在使用adodb_lite而且库没有纠正错误.

hak*_*kre 17

Deperecated函数仍然存在,您会收到警告.所以他们按预期工作.但是在未来的版本中,它们可能会消失.

对于您有时会注意到的其他已弃用的语言功能,情况也是如此.这是一种向用户发出更改信号的方法,这些用户的代码基于较旧的PHP版本.

通常,不推荐使用的功能会在一段时间后被删除,但这是不可预测的.我知道至少有一个案例,一个曾经弃用的功能在以后被弃用了.但是,我认为这是特殊的.

因此,如果您看到这些警告,请更新代码.大多数情况下,PHP文档提供了更多信息,说明为什么某些内容已被弃用以及要做什么.通常它是一种改进(例如在安全性方面),所以如果你关心代码,你真的应该处理这些警告.

编辑:我认为在这种情况下值得注意的是寻找严格的标准通知PHP手册 .它们有些相关,因为这些通知也是语言变化的有用提示.

在开发期间启用E_STRICT有一些好处.STRICT消息将帮助您使用最新和最好的建议编码方法,例如警告您使用已弃用的函数.

(来自上面的PHP手册链接)

  • 从PHP 5.3开始,警告抛出的是"E_DEPRECATED"或"E_USER_DEPRECATED" - 在之前的版本中,我认为它是"E_NOTICE" (2认同)