Forzar tipo de parametros en php

0
23

p>PHP 5 introduce Type Hinting(elección de tipo ), que sirve para restringir el tipo de objeto que debe ser un parametro, especificando el nombre de la clase antes del nombre del parametro.

Ejemplo:

// Clase Reporte
class Reporte
{
    public function ver(Alumno $obj)
    {
        return
        'Nombre:   '.$obj->nombre.'<br />'.
        'Apellido: '.$obj->apellido.'<br />'.
        'Nota:     '.$obj->nota;
    }
}
// Clase Alumno
class Alumno
{
    public $nombre = 'Cesar';
    public $nombre = 'Mancilla';
    public $nota   = '20';
}

Al no satisfacer el tipo al que se le hace referencia resulta en un error fatal.

// instanciamos cada clase
$reporte = new Reporte();
$alumno  = new Alumno();
// Fatal Error: Argument 1 must be an object of class Alumno
$reporte->ver('Cesar');
// Fatal Error: Argument 1 must not be null
$reporte->ver(null);
/*
Nombre:   Cesar
Apellido: Mancilla
Nota:     20
*/
$reporte->ver($alumno);