2010-06-19 96 views
1

这可能是一些愚蠢的问题,但我很好奇怎么会PHP反应的东西,如:PHP中的引用变量可以用作长变量名的别名吗?

$blog_title = &$author->get_blog()->get_title(); 

我帮助的人与一些升级在房子的PHP框架。有一些严重的方法在一些地方连续发生。我想让代码更加可读,而不需要不必要的变量副本。我无法彻底改变代码,所以我必须处理我的工作。

我知道这可能不是一个很好的做法,但潜在的缺点是什么?

回答

4

它只有当函数实际返回一个引用时才有意义(我的教育猜测可能不会),这意味着你要么希望返回对于整个脚本保持静态,要么你打破了事情。你可以定义你自己的短期功能或回调,这将为你做链接,作为下一个最好的事情。通过一切手段,如果函数只返回一次,那么保留一个函数的返回值,但当函数的返回值不是一个时,不要期待引用中的某些魔法。

如果功能确实返回一个引用,那么代码可能使用的引用在他们没有意义的地方,你应该尽快修复:P。

+0

说实话,自从我涉足PHP以来,有一段时间了。为这样的事情创建变量是不是不好的做法?那么你不希望输入'$ this-> name'的情况怎么样? – doomspork 2010-06-19 16:50:46

+1

“不想输入”总是改变代码的一个不好的理由,也是编辑器中代码完成的主要原因。无论如何,缓存函数的结果和变量如果你确定它们不会改变,但不使用引用来避免键入,引用可以很容易地使代码难以检测。 – Wrikken 2010-06-19 20:55:59