php

php

Type Hinting su Oggetti – OOP in PHP

Non ci sono commenti

Foto dell'autore

By Donato Pirolo

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.

Lascia un commento