Tutorial OOP în PHP8
Bazele
Introducere
Clase și obiecte
Proprietăți
Metode
Parametrii metodelor
Proprietăți în interiorul claselor
Metode în interiorul claselor
Constructor
Proprietăți prin parametrii constructorului
Proprietăți private
Metode private
Getters pentru proprietăți
Setters pentru proprietăți
Avantajele setters și getters
Avansat
Fișiere de clase
Lanțuri de metode în clasă
Clasa ca un set de metode
Vectori de obiecte
Obiecte în interiorul claselor
Operatorul de extragere în siguranță
Operatorul de extragere în siguranță în lanțuri
Manipularea obiectelor în clase
Transmiterea prin referință
Operatorul instanceof
Moștenire
Moștenirea claselor
Moștenirea metodelor publice
Metodele clasei copil
Suprascrierea metodelor părinte
Apelarea metodei suprascrise
Constructorul la moștenire
Metodele private la moștenire
Proprietățile private la moștenire
Problema proprietăților private la moștenire
Metode protejate
Proprietăți protejate
Operatorul instanceof și moștenirea
Apelări
Numele proprietății dintr-o variabilă
Numele proprietății dintr-un array
Numele proprietății dintr-un array asociativ
Numele proprietății dintr-o funcție
Numele proprietății dintr-un obiect
Metodă dintr-o variabilă
Apelare după creare
Static
Metode statice
Metode statice în interiorul clasei
Proprietăți statice
Proprietate statică în interiorul clasei
Accesarea prin clasă și obiect
Combinație cu static
Metode statice și $this
Exemplu
Funcții
Obținerea numelui clasei
Obținerea metodelor clasei
Obținerea proprietăților clasei
Obținerea proprietăților obiectului
Verificarea existenței clasei
Verificarea existenței metodei
Verificarea existenței proprietății
Obținerea clasei părinte
Verificarea moștenirii clasei
Verificarea apartenenței obiectului
Obținerea tuturor claselor declarate
Abstract
Interfețe
Introducere în interfețe
Exercițiu privind aplicarea interfețelor
Reguli de denumire a interfețelor
Aplicarea interfețelor
Parametrii metodelor în interfață
Declararea constructorului în interfață
Moștenirea interfețelor unele de la altele
Interfețe și instanceof
Implementarea mai multor interfețe
Moștenirea de la clasă și implementarea interfeței
Constante în interfețe
Funcții pentru interfețe
Trăsături
Introducere în trăsături
Trăsături multiple
Conflict de metode
Modificatori de acces
Modificarea drepturilor de acces la metodele trăsăturii
Prioritatea metodelor
Metode abstracte
Trăsături în trăsături
Funcții pentru trăsături
Magie
Introducere
Metoda __toString
Obținerea proprietăților
Proprietăți doar pentru citire
Citirea unei proprietăți inexistente
Setarea proprietăților
Scrierea unei proprietăți inexistente
Verificarea proprietăților la scriere
Practică
Spații de nume și încărcare automată
Introducere în spațiile de nume
Sintaxa spațiilor de nume
Subspații de nume
Apelare simplificată
Spații de nume în fișiere
Căi relative în spațiul de nume
Comanda use
Conectarea mai multor clase
Comanda use și căile relative
Alias-uri pentru clase
Încărcarea automată standard a claselor
Reguli de încărcare automată
Încărcarea automată personalizată a claselor