获取这些错误“已弃用:不推荐使用引用分配新值的返回值...”
虽然我知道弃用函数意味着什么,但我不清楚PHP对它们做了什么?还是像往常一样执行它们?那么就此功能而言,PHP是否默认为变量分配内存位置或仍使用引用指针?
编辑 - 感谢您的回答,我问了这个问题,因为我们正在使用adodb_lite
并且库没有更正错误。
答案 0 :(得分:16)
Deperecated函数仍然存在,您会收到警告。所以他们按预期工作。但是在未来的版本中,它们可能会消失。
对于您有时会注意到的其他已弃用的语言功能,这是相同的。这是一种向用户发出更改信号的方法,这些用户的代码基于较旧的PHP版本。
通常,不推荐使用的功能会在一段时间后被删除,但这是不可预测的。我知道至少有一个案例,一个曾经弃用的功能在以后被弃用了。但是,我认为这是特殊的。
因此,如果您看到这些警告,请更新代码。大多数情况下,PHP文档提供了更多信息,说明为什么某些内容已被弃用以及要做什么。大多数情况下它是一种改进(例如在安全性方面),所以如果你关心代码,你真的应该处理这些警告。
编辑:我认为在此背景下值得注意的还有strict standards notices PHP Manual。它们有些相关,因为这些通知也是语言变化的有用提示。
在开发过程中启用 E_STRICT 有一些好处。 STRICT消息将帮助您使用最新和最好的建议编码方法,例如警告您使用已弃用的函数。
(来自上面的PHP手册链接)
答案 1 :(得分:3)
它们将继续按照文档记录运行,但它们将来可能会被删除,因此应尽快在现有代码中进行转换,而不是在新代码中使用。
答案 2 :(得分:3)
不推荐使用的功能可以使用,但有更好的选择,并且可能会在未来的PHP版本中删除它们。
答案 3 :(得分:3)
我相信PHP会继续执行该功能,同时还会触发一条错误,指出该功能已被弃用。
Ye Olde版本:
function foo(){
bar();
}
新版本:
function foo(){
bar();
trigger_error('Deprecated: this function is deprecated foo!', E_NOTICE);
}
注意:可能不是 实际在幕后发生的事情,但它会相对等效。
答案 4 :(得分:1)
没什么,这只是一个警告。将其读作“此功能仍然适用于此版本的PHP,但未来版本中的所有投注均已关闭”。除了添加弃用警告外,内部没有任何区别。
答案 5 :(得分:1)
他们仍然会被执行为'通常'。
但是,您需要尽可能快地抛弃它们,以便您将来继续使用代码。
答案 6 :(得分:1)
除了发出弃用警告,代码也能正常工作。弃用表示将来可能会删除相关功能。
This warning指的是
这样的行$obj =& new MyClass();
自PHP 5以来,不再需要&符号;你可以简单地写一下
$obj = new MyClass();
答案 7 :(得分:0)
折旧功能仍然存在,但是您会收到警告,这意味着此类功能将来无法使用。
答案 8 :(得分:0)
可以在更高版本的php中将其删除,因此请不要使用共享服务器。这发生在我身上。在服务提供商决定“升级” PHP版本之前,我的网站运行良好。突然,我的网站崩溃了,这是因为php人士凭着无限的智慧决定删除某些功能。