很多年前,我打开了PHP手册并开始阅读,好像我是该语言的新手一样,阅读那些章节,让我们面对它,不是很有趣或有用,有时会被跳过。
有一件事引起了我的注意。
有人写道,在通过引用为属性分配构造函数参数时,在内部,相同的符号 - 我认为是C中的术语 - 用于参数将用于属性而不是创建一个新的属性作业:
<?php
class MyClass {
protected $myProperty;
public function __construct( $property ) {
// Here!
$this -> myProperty =& $property;
}
public function getPropertyValue() {
return $this -> myProperty;
}
}
毕竟,引用的主要特征是影响本地外部作用域的变量。但我从来没有在测试或分析中烦恼,我有点开始在惯性的小代码上做这个,并且案件与懒惰的神经元一起睡了。
然而,最近,这个主题出现在我的脑海中(哈哈),我在3ev4l中运行了代码片段,比较by reference和usual way来检查,显然,这确实发生了。
这是一个非常小的差异 - 我跑了10万次 - 但这是一个我从未得到过关闭的好奇心。
有人能提供更多信息吗?具体而言,但不限于此可能带来的潜在问题?