betterCode() PHP 2025

La clase Override

(PHP 8 >= 8.3.0)

Introducción

Este atributo se utiliza para indicar que un método o una propiedad está destinado a sobrescribir un método o una propiedad de una clase padre o que implementa un método o una propiedad definido en una interfaz.

Si no existe ningún método o propiedad con el mismo nombre en una clase padre o en una interfaz implementada, se emitirá un error de compilación.

El atributo solo puede ser utilizado con el método __construct(), que está excluido de las verificaciones de firma.

Sinopsis de la Clase

final class Override {
/* Métodos */
public __construct()
}

Historial de cambios

Versión Descripción
8.5.0 Override puede ser aplicado a propiedades.

Ejemplos

Ejemplo #1 Uso con métodos

<?php

class Base {
protected function
foo(): void {}
}

final class
Extended extends Base {
#[
\Override]
protected function
boo(): void {}
}

?>

Resultado del ejemplo anterior en PHP 8.3 es similar a:

Fatal error: Extended::boo() has #[\Override] attribute, but no matching parent method exists

Ejemplo #2 Uso con propiedades

<?php

class Base {
protected
string $foo;
}

final class
Extended extends Base {
#[
\Override]
protected
string $boo;
}

?>

La salida del ejemplo anterior en PHP 8.5 es similar a:

Fatal error: Extended::$boo has #[\Override] attribute, but no matching parent property exists

Tabla de contenidos

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top