Clases anónimas en PHP

Clases anónimas en PHP

Hola. ¿Qué tal? Bienvenidos nuevamente continuando con el curso de PHP nivel básico, hoy veremos lo que son clases anónimas en PHP 8.

¡Empecemos!

¿Qué son las clases anónimas?

Las clases anónimas son una característica que te permite crear objetos y definir métodos directamente sin necesidad de declarar una clase con un nombre específico. Las clases anónimas son útiles cuando solo necesitas una clase temporal que solo se utiliza una sola vez durante la ejecución del programa.

La sintaxis para definir una clase anónima es la siguiente:

$claseAnonima = new class {
    // Definición de atributos y métodos de la clase anónima
};

Ejemplo de clases anónimas en PHP

Ahora haremos algunos ejemplos. En primer lugar, vamos a crear el archivo clases_anonimas.php en la carpeta de nuestro proyecto. Para ir probando los ejemplos abrimos nuestro navegador, en la ruta localhost:8080/curso_php8/clases_anonimas.php.

Crear la clase anónima

Realizaremos el mismo ejemplo que en la clase anterior clases y objetos en PHP, esta vez utilizando clases anónimas.

En primer lugar, vamos a crear la clase anónima con sus atributos y sus métodos.

$televisor = new class('Samsung', 2018, "Negro", "42 Pulgadas") {
    public $marca;
    public $modelo;
    public $color;
    Public $tamanio;

    function __construct($marca, $modelo, $color, $tamanio){
        $this->marca = $marca;
        $this->modelo = $modelo;
        $this->color = $color;
        $this->tamanio = $tamanio;
    }

    public function marcaModelo(){
        return $this->marca . " modelo " . $this->modelo;
    }

    public function calcularAntiguedad(){
        $antiguedad = 0;
        for($i = $this->modelo; $i< date("Y"); $i++){
           $antiguedad++;
        }
        Return "La antiguedad del televisor es: " . $antiguedad;
    }
};

En este caso el objeto $televisor ya está creado juntamente  con la clase anónima, ahora solo es llamar a sus métodos. Primero para concatenar la marca y el modelo y segundo para calcular los años de antigüedad del televisor.

echo $televisor->marcaModelo();
echo $televisor->calcularAntiguedad();

Veamos otro ejemplo, con una clase anónima que representa una mascota con sus atributos y metodos. Seguidamente, creamos un objeto de esta clase anónima y utilizaremos sus atributos y métodos normalmente.

$miMascota = new class {
    public $nombre;
    public function emitirSonido() {
        echo "Guau Guau";
    }
};

$miMascota->nombre = "Nilo";
echo $miMascota->nombre . " dice: ";
$miMascota->emitirSonido();

Ejercicios de la clase

1.- Realizar una clase anónima para enviar un mensaje personalizado. 

2.- Crear una clase anónima “motocicleta” que herede de una clase padre “vehículo” y puede utilizar sus atributos y métodos.

Conclusión

Las clases anónimas son útiles en situaciones donde solo necesitas un objeto simple y no es necesario definir una clase con nombre completo. Su uso más común es en callbacks, funciones anónimas y en situaciones donde solo necesitas un objeto temporal sin afectar el ámbito global del código.

Hasta aquí la clase de hoy, clases anónimas en PHP 8, si tienes alguna consulta puedes dejarnos un comentario o si quieres saber más acerca de este tema puedes visitar el sitio oficial de PHP. Todo el código fuentes de este y todos los ejemplos desarrollados lo puedes encontrar en el repositorio de GitHub.

En el próximo tutorial veremos lo que son iteración de objetos en PHP 8

Saludos y éxitos.

Victor Peña

Victor Peña

Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *