2009-12-10 6 views

ответ

6

В Ye Olde Дни PHP4 = & необходимо при строительстве объектов. В PHP 5 это не так.

=&. Справочное задание.

т.д .:

$a = 'a'; 
$b =& $a; 
$b = 'b'; 
echo $a; // Prints 'b', since a and b have been linked by &=. 

Другими словами, он имеет свои преимущества, но только не при создании экземпляра объекта. Для этого использования он был депрепаратирован.

2

В PHP4 объекты по умолчанию передавались по значению, а не по ссылке. Это означает, что копия объекта была сделана при назначении. Если вы хотите передать объект по ссылке вместо значения, вы можете использовать оператор &. В PHP5 объекты по умолчанию передаются по ссылке. Таким образом, & больше не нужен при работе с объектами. Примитивы (или скаляры, которые часто вызывают в мире PHP) по умолчанию по умолчанию передаются значением.

Я нахожу, что при переносе кода OO PHP4 на PHP5 довольно много & s удаляется.

+0

см. Http://docs.php.net/language.oop5.references – VolkerK

Смежные вопросы