Wpis z mikrobloga

#php #webdev

Czy taka konstrukcja jest prawidłowa:

class JakasKlasa
{
private $dupa;

public function ustawDupe()
{
$maryna = 'bla bla bla';
$this->dupa = &$maryna;
}
}

Chodzi mi o to zapisanie referencji do zmiennej lokalnej we właściwości klasy. Czy po opuszczeniu metody, miejsce w pamięci w którym przechowywana była $maryna nie zostanie zwolnione, a tym samym narażone na nadpisanie?
  • 9
@idiot: IMHO takie korzystanie z referencji to błąd, jedyne zastosowanie referencji w php to dwa przypadki imho - argumenty funkcji/metody lub w foreachu aby dodać wartości do wierszy wielowymiarowej tablicy

ogółem referencja w phpie służy tak naprawdę jednemu - aby podczas wykonywania jakiejś instrukcji wyedytować również oryginalną zmienną

o ile kojarzę to nawet nie jest realnie referencja, tylko po prostu tworzy kopie poprzedniej zmiennej i przy zmianach jakiś zmienia wartość obu
@Jurigag: Sam korzystałem z referencji tylko w tych sytuacjach o których wspomniałeś i w pierwszej chwili byłem przekonany, że zapis którym zapoczątkowałem ten wątek jest błędny. Wpadłem na ten zapis podczas analizowania implementacji listy w PHP. Chciałbym to dogłębnie zrozumieć, bo może otworzy mi to oczy na inne ciekawe zastosowania referencji, które mogą ułatwić życie.