Programowanie: Do Czego Służy Ta Pseudozmienna $ W PHP I Jak Jej Używać?

Spisu treści:

Programowanie: Do Czego Służy Ta Pseudozmienna $ W PHP I Jak Jej Używać?
Programowanie: Do Czego Służy Ta Pseudozmienna $ W PHP I Jak Jej Używać?

Wideo: Programowanie: Do Czego Służy Ta Pseudozmienna $ W PHP I Jak Jej Używać?

Wideo: Programowanie: Do Czego Służy Ta Pseudozmienna $ W PHP I Jak Jej Używać?
Wideo: Learn Object Oriented PHP #08 - Pseudo Variable $this 2024, Listopad
Anonim

Ucząc się interpretowanego języka PHP, początkujący programiści WWW natrafiają na takie pojęcie jak pseudozmienna $ this. Jego cel i zasady użycia w kodzie bardzo różnią się od wszystkich innych zmiennych, dlatego warto szczegółowo przyjrzeć się tej kwestii.

Programowanie: Do czego służy ta pseudozmienna $ w PHP i jak jej używać?
Programowanie: Do czego służy ta pseudozmienna $ w PHP i jak jej używać?

Klasy i przedmioty

Programowanie obiektowe (OOP), które jest używane w PHP od wersji 5, daje programiście możliwość tworzenia dowolnej liczby instancji tej samej klasy, zwanych obiektami; w takim przypadku każda utworzona kopia otrzymuje własną nazwę. Obiekt może pobierać dane zwane argumentami, przetwarzać je funkcjami i zwracać wynik. Każda funkcja klasy może uzyskać dostęp do jej właściwości nie bezpośrednio, ale tylko poprzez konstrukcję obiekt->właściwość, więc pojawia się pytanie: jak napisać taki uniwersalny kod, który pozwoli każdemu wygenerowanemu obiektowi pracować z danymi, niezależnie od jego nazwy? Rozważ przykład pokazany na rysunku 1.

Wizerunek
Wizerunek

Ten kod deklaruje klasę, która ma zmienną (właściwość) i dwie funkcje (metody), z których jedna jest konstruktorem, tj. uruchamia się automatycznie po utworzeniu nowego obiektu. Zadaniem funkcji konstruktora jest przypisanie danych do właściwości odbieranej przez argument podczas tworzenia obiektu. Po wywołaniu metoda zwraca wartość właściwości.

Następnie rozważmy wiersze 12 i 13. W nich tworzone są dwie nowe instancje klasy, z których jedna otrzymuje jako argument liczbę 5, a druga 7. Wartości te są przypisywane przez funkcję konstruktora do zmiennej (właściwość), która jest dostępna tylko w ramach klasy. Każdy utworzony obiekt jest przypisywany do zmiennych i odpowiednio (dokładniej, zmienne te otrzymują tylko referencje do określonych obiektów, ale w tej chwili nie ma to znaczenia). Teraz możesz uzyskać wartości właściwości za pomocą prostego wywołania metody (linie 15 i 16).

Przypisanie $ tej pseudozmiennej

Uwaga: mamy dwa różne obiekty z dokładnie tymi samymi metodami.

I tu z pomocą przychodzi pseudozmienna. Jego nazwę można przetłumaczyć z angielskiego jako „to”, tj. wskazuje (jest linkiem) do obiektu, w którym się znajduje. W rezultacie wiersz 5 for można odczytać jako „przypisz wartość argumentu do właściwości obiektu”, wiersz 8 - „zwróć wartość właściwości obiektu”. Ponieważ zmienna automatycznie przyjmie odpowiednią wartość.

Warunki użytkowania $ to

Zalecana: