首页  >  文章  >  后端开发  >  为什么在 PHP 中不推荐从'new”表达式的返回值通过引用进行赋值?

为什么在 PHP 中不推荐从'new”表达式的返回值通过引用进行赋值?

DDD
DDD原创
2024-10-24 04:29:30995浏览

Why is Assigning by Reference from the Return Value of

已弃用通过引用分配

在 PHP 的早期版本中,通常的做法是使用“通过引用分配对象和其他数据结构” &“ 操作员。然而,这种做法在 PHP5 及更高版本中已被弃用。当尝试通过引用分配“new”表达式的返回值时,开发人员可能会遇到错误消息“不推荐通过引用分配 new 的返回值。”

弃用原因

弃用从“新”表达式进行引用分配的目的是为了增强代码的可维护性和性能。默认情况下,使用“new”创建的对象是按值传递的,确保每个对象都有自己的内存空间。在处理多个对象时,通过引用分配可能会导致混乱和意外的副作用,因为对一个对象进行的更新可能会意外影响共享同一引用的其他对象。

错误解决

要解决此问题,只需从赋值语句中删除“&”运算符即可。以下代码在 PHP5 及更高版本中有效:

<code class="php">$obj_md = new MDB2();</code>

如果即使在删除“&”运算符后错误仍然存​​在,请检查您的代码是否存在潜在的语法错误或与其他 PHP 设置冲突。某些 PHP 配置可能仍然允许已弃用的功能,因此建议验证 php.ini 文件中的 error_reporting 设置。

以上是为什么在 PHP 中不推荐从'new”表达式的返回值通过引用进行赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn