PHP: validare il tipo di dati dei parametri di un costruttore

PHP: validare il tipo di dati dei parametri di un costruttore

In PHP possiamo validare il tipo di dati dei parametri di un costruttore.

Prendiamo come esempio questa classe:


class Book {
    public $pages;
    public $title;

    public function __construct($numPages, $givenTitle) {
        if(!is_int($numPages) || !is_string($givenTitle)) {
            throw new Exception('Book::pages must be an integer and Book:title must be a string.');
        } else {
            $this->pages = $numPages;
            $this->title = $givenTitle;
        }
    }
}

Il costruttore di questa classe effettua una validazione sul tipo di dati passatigli, che devono essere rispettivamente un intero ed una stringa. Se il tipo di dati non corrisponde viene sollevata un'eccezione.

Il codice che segue solleverà appunto un'eccezione:


require_once('Book.php');

try {
    $book = new Book('240', 'Test');
} catch(Exception $e) {
    echo $e->getMessage();
}

Torna su