instanceof, get_class e ::class - OOP in PHP
Indice
In PHP, instanceof
, get_class
e class::
sono tutte funzioni utilizzate per ottenere informazioni su oggetti e classi.
instanceof
è una parola chiave utilizzata per verificare se un oggetto è un'istanza di una particolare classe o implementa una particolare interfaccia. Restituiscetrue
se l'oggetto è un'istanza della classe o implementa l'interfaccia, efalse
altrimenti.get_class
è una funzione utilizzata per restituire il nome della classe di un oggetto come stringa.::class
viene utilizzato per ottenere il nome di una classe come stringa.
Sintassi di instanceof
$oggetto instanceof NomeClasse
Sintassi di get_class
get_class($oggetto)
Sintassi di ::class
NomeClasse::nomeMetodo()
NomeClasse::$nomeProprietà
Esempio utilizzando instanceof
class Animale {
}
class Cane extends Animale {
}
$animale = new Animale();
$cane = new Cane();
if ($animale instanceof Animale) {
echo "l'animale è un'istanza della classe Animale<br>";
}
if ($cane instanceof Animale) {
echo "il cane è un'istanza della classe Animale<br>";
}
/*Output:
l'animale è un'istanza della classe Animale
il cane è un'istanza della classe Animale
*/
Esempio utilizzando get_class
class Animale {
}
$animale = new Animale();
echo get_class($animale); // Output: Animale
Esempio utilizzando ::class
class Persona {
private $nome;
private $cognome;
public function __construct($nome, $cognome) {
$this->nome = $nome;
$this->cognome = $cognome;
}
public function getNomeCompleto() {
return $this->nome . ' ' . $this->cognome;
}
}
$nomeClasse = Persona::class;
echo $nomeClasse; // stampa "Persona"