Type Hinting su Oggetti - OOP in PHP

Type Hinting su Oggetti - OOP in PHP

Il type hinting sugli oggetti in una classe è una funzionalità di PHP che consente di specificare il tipo di un parametro di una funzione o di un metodo di classe, limitandone il valore solo ad oggetti di quel tipo. Questo significa che se si cerca di passare un oggetto di un tipo diverso, PHP genererà un errore.

Sintassi utilizzando typehinting su oggetti

In questo esempio,definiamo il metodo myMethod nella classe MyClass, che accetta come parametro un oggetto di tipo MyObject. Questo significa che il parametro $param deve essere un'istanza della classe MyObject o di una sua classe figlia.

class MyClass {
    public function myMethod(MyObject $param) {
        // codice del metodo
    }
}

Esempio utilizzando type hinting su oggetti

<?php
class Utente {
    private $nome;
    private $eta;

    public function __construct($nome, $eta) {
        $this->nome = $nome;
        $this->eta = $eta;
    }

    public function getNome() {
        return $this->nome;
    }

    public function getEta() {
        return $this->eta;
    }
}

class UtenteManager {
    public function stampaNomeUtente(Utente $utente) {
        echo $utente->getNome();
    }
}

$utente1 = new Utente("Donato Pirolo", 33);
$manager = new UtenteManager();
$manager->stampaNomeUtente($utente1); // Output: "Donato Pirolo"
?>

In questo esempio, la classe UtenteManager definisce un metodo chiamato stampaNomeUtente, che accetta come parametro un oggetto di tipo Utente. Questo significa che il metodo può essere chiamato solo con un'istanza della classe Utente o di una sua classe figlia. Nel codice principale, viene creato un oggetto Utente e poi passato al metodo stampaNomeUtente della classe UtenteManager, il quale stampa il nome della persona. Se si tentasse di passare un oggetto di un tipo diverso da Utente, PHP genererebbe un errore.

Scritto da Donato Pirolo

Ciao, sono Donato, frontend developer con una smisurata passione per la SEO. Creo strumenti ad hoc per aiutare aziende e professionisti ad essere cercati sul web e trovare clienti.

Potrebbero interessarti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Copyright © 2023
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram