Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


Bonhart
Napisane: 14.03.2011, 22:05:56





Grupa: Zarejestrowani
Postów: 5
Dołączył: 20.06.2002

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

Ad 1.)
  1. $object =& $var;


To przypisanie przez referencje ( $object i $var będą miały tą samą wartość, nie zależnie do której przypiszesz wartość obie będą miały taką samą.

Możesz myśleć o tym w ten sposób, że obie pokazują dokładnie w to samo miejsce w pamięci

  1.  
  2. $var = 1;
  3.  
  4. $object =& $var;
  5.  
  6. echo 'var = ' . $var . "\n";
  7. echo 'object = ' . $object . "\n";
  8.  
  9. //zmieniamy wartosc wart
  10. $var = 2;
  11.  
  12. echo 'var = ' . $var . "\n";
  13. echo 'object = ' . $object . "\n";
  14.  
  15. $object = 3;
  16.  
  17. echo 'var = ' . $var . "\n";
  18. echo 'object = ' . $object . "\n";

Natomiast
  1. $object = $var;

to przypisanie przez wartość (tak jakby kopia), jak zmienisz $var to nie zmienia się $object

Ad 2)

php 4 tak się definiowało składowe klasy (wszystkie były publiczne), teraz używamy zakresów private, protected, public

private - dostęp tylko dla obiektów danej klasy
protected - dostęp dla obiektów danej klasy i klas dziedziczących po niej
public - dostęp dla wszystkich ( defacto nie zalecane, chyba że wiesz co czynisz tongue.gif )


static to zmienia lub metoda statyczna, nie potrzebujesz tworzyć obiektu danej klasy żeby sie do niej odwołać


Weźmy pod uwagę taką klase
  1. class A {
  2.  
  3. public function m1() {
  4. echo "m1";
  5. }
  6.  
  7. static public function m2() {
  8. echo "m2";
  9. }
  10.  
  11. }


żeby wywołać metodę m1 klasy A, musimy utworzyć obiekt tej klasy

  1.  
  2. $a = new A();
  3. $a->m1();


natomiast, żeby wywołać metodę statyczną m2, nie musimy tworzyć obiektu klasy tylko odwołujemy się do niej statycznie

  1. A::m2();


Uwaga: W metodach statycznych nie mamy dostępu do składowych klasy i operatora $this, bo nie mamy obiektu smile.gif


Poczytaj w manualu o klasach
  Forum: Przedszkole · Podgląd postu: #846041 · Odpowiedzi: 3 · Wyświetleń: 454


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 18:33