Tutorial sulla OOP in PHP8
Basi
Introduzione
Classi e oggetti
Proprietà
Metodi
Parametri dei metodi
Proprietà all'interno delle classi
Metodi all'interno delle classi
Costruttore
Proprietà attraverso i parametri del costruttore
Proprietà private
Metodi privati
Getter delle proprietà
Setter delle proprietà
Vantaggi di setter e getter
Avanzato
File delle classi
Catene di metodi nella classe
Classe come insieme di metodi
Array di oggetti
Oggetti all'interno delle classi
Operatore di accesso sicuro
Operatore di accesso sicuro nelle catene
Manipolazione di oggetti nelle classi
Passaggio per riferimento
Operatore instanceof
Ereditarietà
Ereditarietà delle classi
Ereditarietà dei metodi pubblici
Metodi della classe derivata
Sovrascrittura dei metodi della classe genitore
Chiamare un metodo sovrascritto
Costruttore con ereditarietà
Metodi privati con ereditarietà
Proprietà private con ereditarietà
Problema delle proprietà private con ereditarietà
Metodi protetti
Proprietà protette
Operatore instanceof ed ereditarietà
Chiamate
Nome della proprietà da variabile
Nome della proprietà da array
Nome della proprietà da array associativo
Nome della proprietà da funzione
Nome della proprietà da oggetto
Metodo da variabile
Chiamata dopo la creazione
Static
Metodi statici
Metodi statici all'interno della classe
Proprietà statiche
Proprietà statiche all'interno della classe
Chiamata tramite classe e oggetto
Combinazione con static
Metodi statici e $this
Esempio
Funzioni
Ottenere il nome della classe
Ottenere i metodi della classe
Ottenere le proprietà della classe
Ottenere le proprietà dell'oggetto
Verificare l'esistenza di una classe
Verificare l'esistenza di un metodo
Verificare l'esistenza di una proprietà
Ottenere la classe genitore
Verificare l'ereditarietà della classe
Verificare l'appartenenza di un oggetto
Ottenere tutte le classi dichiarate
Abstract
Interfacce
Introduzione alle interfacce
Pratica sull'applicazione delle interfacce
Regole per la denominazione delle interfacce
Applicazione delle interfacce
Parametri dei metodi nell'interfaccia
Dichiarazione del costruttore nell'interfaccia
Ereditarietà delle interfacce tra loro
Interfacce e instanceof
Implementazione di più interfacce
Ereditarietà da una classe e implementazione di un'interfaccia
Costanti nelle interfacce
Funzioni per le interfacce
Traits
Introduzione ai traits
Multipli traits
Conflitti di metodi
Modificatori di accesso
Modifica dei permessi di accesso ai metodi del trait
Priorità dei metodi
Metodi astratti
Traits nei traits
Funzioni per i traits
Magia
Introduzione
Metodo __toString
Recupero delle proprietà
Proprietà in sola lettura
Lettura di una proprietà inesistente
Impostazione delle proprietà
Scrittura in una proprietà inesistente
Verifica delle proprietà in scrittura
Pratica
Namespace e Autocaricamento
Introduzione ai namespace
Sintassi dei namespace
Sottospazi dei nomi
Riferimento semplificato
Namespace nei file
Percorsi relativi nello spazio dei nomi
Il comando use
Connessione di più classi
Comando use e percorsi relativi
Alias delle classi
Autocaricamento standard delle classi
Regole di autocaricamento
Autocaricamento personalizzato delle classi