在PHP中,太多的赋值被认为是不好的吗?如果是,为什么?

在PHP中,太多的赋值被认为是不好的吗?如果是,为什么?,php,Php,Netbeans似乎暗示太多的任务是相当糟糕的,应该改变 i、 e 最好编码为 $foo = ' bar '; $trimmed_foo = trim($foo); 这可以接受吗?如果是,为什么?我知道我可以在设置中关闭这个特定的提示类型,但只需检查是否有人发现了这方面的任何内容。理想情况下,变量名应该描述内容。如果重复分配给同一个变量,则表明变量的内容没有得到很好的定义 此外,如果您的代码具有以下内容: $foo = ' bar '; // some code, mybe 100 lines

Netbeans似乎暗示太多的任务是相当糟糕的,应该改变

i、 e

最好编码为

$foo = ' bar ';
$trimmed_foo = trim($foo);

这可以接受吗?如果是,为什么?我知道我可以在设置中关闭这个特定的提示类型,但只需检查是否有人发现了这方面的任何内容。

理想情况下,变量名应该描述内容。如果重复分配给同一个变量,则表明变量的内容没有得到很好的定义

此外,如果您的代码具有以下内容:

$foo = ' bar ';
// some code, mybe 100 lines of it
// now do something with $foo

如果更新代码以添加
$foo=trim($foo),会发生什么情况上面?您可以破坏下面的代码。

这些变体没有区别。如果有什么不同的话,第一个更好,因为它避免了变量对作用域造成混乱

我认为这个警告真正的意思是你应该试着去做

$foo = trim(' bar ');

直接(或者不管$foo最初真正设置为什么),而不是将其存储在临时文件中。当然,这并不总是可能的。

我想,第一种方法比第二种方法性能更好


另一方面,如果需要更多的描述性变量,第二种方法可能更有用。如果有多人在同一个项目上工作,这可能会有更大帮助。

这是一个新的警告,大约在2012年年中


由于您使用了trim示例,我猜您已经阅读了这篇文章,它试图解释警告。我对这个警告的理解是,它试图警告您意外重用变量。因此,它非常方便。在你给它的修剪情况下,它似乎有点笨手笨脚。如果重新分配在下面这行,这可能不是偶然的。

如果你不喜欢这个提示,你可以在工具->选项->编辑器->提示->PHP->不可变变量中停用它。

这是一个有趣的问题。我认为这真的不重要,但是PHP引擎以前让我很惊讶。谢谢你没有接受那些没有回答的答案。纠正Peter,我确实读了你引用的页面,但它并没有确切地告诉你为什么它不好。有充分的理由让它保持开启状态,防止意外发生。
$foo = trim(' bar ');