Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Referencje w klasach
Duiaheru
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 9.04.2004
Skąd: Zawoja

Ostrzeżenie: (0%)
-----


Witajcie, od czasu do czasu przeglądam forum i często spotykam się z referencją w klasach, czego totalnie nie rozumiem.
Referencja, jest to powiązanie jakieś między zmiennymi, więc jeśli w jednej zmiennej zmieni się coś, to w drugiej następuje taka sama zmiana. Dobrze to rozumiem?

Chciałem zaczaić, jak działa framework jakikolwiek, ale wszędzie spotykam się z referencją.
Jednym z takich frameworkuf jest np. Mojavi.
Przykładem referencji jest np. ten z postu: http://forum.php.pl/viewtopic.php?p=101720#101720

Możecie mi wytłumaczyć na czym to wszystko polega, jak ma się referencja na zwyczajnych zmiennych do tych na klasach i właściwie to po co to wszystko ?

Zanim odpowiecie na pytanie, możecie się zacząć denerwować, pytając: dlaczego do cholery nie poszukasz o tym na forum czy w artykułach?
Odpowiedź: szukałem, i szukam od jakiegoś tygodnia i jak narazie żadnych rezulatów. Angielskiego nie znam za dobrze, a w polskich manualach nie znalazłem tego.

Liczę, że potraficie mnie zrozumieć, a przede wszystkim na to, że mi to wytłumaczycie. Jestem przekonany, że nie jeden sobie zadaje to samo pytanie, więc już przynajmniej będziecie mogli go odsyłać do tego tematu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukaswoj
post
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Krótko.

W momencie gdy wykonasz taki kod:
[php:1:0ef355d348]
<?php
$zmienna_a='ania';

$zmienna_b=$zmienna_a;

$zmienna_b='dorotka';

echo "zmienna a: $zmienna_a <br>";
echo "zmienna b: $zmienna_b <br>";
?>
[/php:1:0ef355d348]

Otrzymasz taki wynik:
Kod
zmienna a: ania

zmienna b: dorotka


Teraz drugi, bardzo podobny przykład:
[php:1:0ef355d348]
<?php
$zmienna_a='ania';

$zmienna_b=&$zmienna_a;

$zmienna_b='dorotka';

echo "zmienna a: $zmienna_a <br>";
echo "zmienna b: $zmienna_b <br>";
?>
[/php:1:0ef355d348]
I wynik:
Kod
zmienna a: dorotka

zmienna b: dorotka


W momencie gdy użyjesz operatora przypisania "=" to wartość zmiennej znajdującej się po prawej stronie (w naszym przypadku to $zmienna_a i jej wartosc 'ania') jest przypisywana do nowej zmiennej o nazwie użytej po lewej stronie (w tym przypadku $zmienna_b).

Czyli po takiej operacji mamy dwie fizyczne kopie tej samej wartości pod postacią dwóch różnych zmiennych ($zmienna_a i $zmienna_b).

Jeśli teraz zmienisz wartość którejkolwiek ze zmiennych, nie będzie to miało wpływu na wartośc tej drugiej.

Natomiast w przypadku referencji "&=" zmienna użyta z lewej strony operatora przypisania staje się tak jakby "drogowskazem", wskazującym na wartośc zmiennej użytej z prawej strony.

Po takiej operacji $zmienna_a pozostaje niezmieniona a $zmienna_b jest "referencją do zmiennej_a".

Teraz jeśli spróbujesz zmienić wartośc $zmienna_b to tak naprawdę zmienisz wartość $zmienna_a.

Spójrz na powyższe przykłady, "przetraw" to co napisałem i zrozum... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 05:44