Микрооптимизация: присвоение свойств конструктора по ссылке

Много лет назад я открыл руководство по PHP и начал читать, как если бы я был новичком в этом языке, читая те главы, которые, будем откровенны, не совсем интересны или полезны, а иногда и пропускаются.

И одна вещь привлекла мое внимание в одной главе.

Было написано, что при назначении параметра конструктора свойству по ссылке внутри, тот же символ (который, я думаю, является терминологией в C), используемый для параметра, будет использоваться для свойства вместо создания нового только для присвоения. :

<?php

class MyClass {

protected $myProperty;

public function __construct( $property ) {

// Here!

$this -> myProperty =& $property;
}

public function getPropertyValue() {
return $this -> myProperty;
}
}

Вид имеет смысл, в конце концов, главная характеристика ссылок — это воздействие на переменную внешней области видимости в локальной. Но я никогда не беспокоился о тестировании или профилировании, и я немного начал делать это на маленьких кодах почти по инерции, и дело пошло спать с ленивыми нейронами.

Но потом, недавно, эта тема возникла у меня в мозгу, и я запустил этот фрагмент кода в 3ev4l, сравнивая по ссылке и обычный способ проверить и, по-видимому, это действительно происходит.

Это действительно небольшая разница — и я бегал 100 тысяч раз — но это любопытство, которое я так и не получил.

Может ли кто-нибудь предоставить больше информации, может быть, подробно об этом? В частности, но не ограничиваясь, потенциальные проблемы, которые это может принести?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]