Tutorial OOP w PHP8
Podstawy
Wprowadzenie
Klasy i obiekty
Właściwości
Metody
Parametry metod
Właściwości wewnątrz klas
Metody wewnątrz klas
Konstruktor
Właściwości poprzez parametry konstruktora
Właściwości prywatne
Metody prywatne
Gettery właściwości
Settery właściwości
Zalety setterów i getterów
Zaawansowane
Pliki klas
Łańcuchy metod w klasie
Klasa jako zestaw metod
Tablice obiektów
Obiekty wewnątrz klas
Operator bezpiecznego wyodrębniania
Operator bezpiecznego wyodrębniania w łańcuchach
Manipulacja obiektami w klasach
Przekazywanie przez referencję
Operator instanceof
Dziedziczenie
Dziedziczenie klas
Dziedziczenie metod publicznych
Metody potomka
Przesłanianie metod rodzica
Wywołanie przesłoniętej metody
Konstruktor przy dziedziczeniu
Metody prywatne przy dziedziczeniu
Właściwości prywatne przy dziedziczeniu
Problem właściwości prywatnych przy dziedziczeniu
Metody chronione
Właściwości chronione
Operator instanceof i dziedziczenie
Wywołania
Nazwa właściwości ze zmiennej
Nazwa właściwości z tablicy
Nazwa właściwości z tablicy asocjacyjnej
Nazwa właściwości z funkcji
Nazwa właściwości z obiektu
Metoda ze zmiennej
Wywołanie po utworzeniu
Static
Metody statyczne
Metody statyczne wewnątrz klasy
Właściwości statyczne
Właściwość statyczna wewnątrz klasy
Odwołanie przez klasę i obiekt
Kombinacja ze static
Metody statyczne i $this
Przykład
Funkcje
Uzyskiwanie nazwy klasy
Uzyskiwanie metod klasy
Uzyskiwanie właściwości klasy
Uzyskiwanie właściwości obiektu
Sprawdzanie istnienia klasy
Sprawdzanie istnienia metody
Sprawdzanie istnienia właściwości
Uzyskiwanie klasy nadrzędnej
Sprawdzanie dziedziczenia klasy
Sprawdzanie przynależności obiektu
Uzyskiwanie wszystkich zadeklarowanych klas
Abstract
Interfejsy
Wprowadzenie do interfejsów
Praktyka zastosowania interfejsów
Zasady nazewnictwa interfejsów
Zastosowanie interfejsów
Parametry metod w interfejsie
Deklarowanie konstruktora w interfejsie
Dziedziczenie interfejsów po sobie
Interfejsy i instanceof
Implementacja kilku interfejsów
Dziedziczenie po klasie i implementacja interfejsu
Stałe w interfejsach
Funkcje dla interfejsów
Traity
Wprowadzenie do traitów
Kilka traitów
Konflikty metod
Modyfikatory dostępu
Zmiana praw dostępu do metod traitów
Priorytet metod
Metody abstrakcyjne
Traity w traitach
Funkcje dla traitów
Magia
Wprowadzenie
Metoda __toString
Pobieranie właściwości
Właściwości tylko do odczytu
Odczytywanie nieistniejącej właściwości
Ustawianie właściwości
Zapisywanie do nieistniejącej właściwości
Sprawdzanie właściwości przy zapisie
Praktyka
Przestrzenie nazw i automatyczne ładowanie
Wprowadzenie do przestrzeni nazw
Składnia przestrzeni nazw
Podprzestrzenie nazw
Uproszczone odwołanie
Przestrzenie nazw w plikach
Względne ścieżki w przestrzeni nazw
Komenda use
Podłączanie wielu klas
Komenda use i względne ścieżki
Aliasy klas
Standardowe automatyczne ładowanie klas
Zasady automatycznego ładowania
Własne automatyczne ładowanie klas