PHP 8.6.0 Beta 3 is available for testing

El atributo Deprecated

(PHP 8 >= 8.4.0)

Introducción

Este atributo se utiliza para marcar la funcionalidad como obsoleta. El uso de funcionalidad obsoleta hará que se emita un error E_USER_DEPRECATED.

Sinopsis de la clase

#[\Attribute]
final class Deprecated {
/* Propiedades */
public readonly ?string $message;
public readonly ?string $since;
/* Métodos */
public function __construct(?string $message = null, ?string $since = null)
}

Propiedades

message

Un mensaje opcional que explica la razón de la deprecación y la posible funcionalidad de reemplazo. Se incluirá en el mensaje de deprecación emitido.

since

Una cadena opcional que indica desde cuándo la funcionalidad está deprecada. El contenido no es validado por PHP y puede contener un número de versión, una fecha o cualquier otro valor que se considere apropiado. Se incluirá en el mensaje de deprecación emitido.

La funcionalidad que es parte de PHP utilizará Major.Minor como el valor de since, por ejemplo '8.4'.

Ejemplos

<?php

#[\Deprecated(message: "use safe_replacement() instead", since: "1.5")]
function unsafe_function()
{
   echo "This is unsafe", PHP_EOL;
}

unsafe_function();

?>

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

Deprecated: Function unsafe_function() is deprecated since 1.5, use safe_replacement() instead in example.php on line 9
This is unsafe

Tabla de contenidos

add a note

User Contributed Notes 1 note

up
0
miqrogroove at gmail dot com
1 day ago
Here is a bit of wisdom from the Attribute parser:

Fatal error: Attribute "Deprecated" cannot target parameter (allowed targets: function, method, class constant)

<?php
function unsafe_function(
   #[\Deprecated(message: "don't use hello param anymore", since: "1.5")]
   string $hello,
) {
   echo "This is unsafe", PHP_EOL;
}
To Top