# Атрибут Deprecated

(PHP 8 >= 8.4.0)

## Введение

Атрибут помечает функциональность устаревшей. Устаревшая функциональность вызывает ошибки уровня `E_USER_DEPRECATED`.

## Обзор класса

#[\Attribute]
final class Deprecated {
/* Свойства */
public readonly ?string $message;
public readonly ?string $since;
/* Методы */
public function __construct(?string `$message` = null, ?string `$since` = null)
}

## Свойства

message

  Необязательное сообщение, которое объясняет причину устаревания и возможную замену функциональности. Текст сообщения включается в предупреждение об устаревании.

since

  Необязательная строка, которая указывает, с какого момента устарела функциональность. PHP не проверяет содержание строки и поэтому иногда строка включает сведения о версии, дате или другие значения, которые считает уместными. Строка включается в предупреждение об устаревании.

  Функциональность самого́ PHP указывает в значении свойства since момент устаревания в виде мажорной и минорной версий, например `'8.4'`.

## Примеры

    <?php

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

    unsafe_function();

Результат выполнения приведённого примера в PHP 8.4 аналогичен:

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

## Смотрите также

- Обзор атрибутов
- ReflectionFunctionAbstract::isDeprecated()
- ReflectionClassConstant::isDeprecated()
- `E_USER_DEPRECATED`

## Содержание

- Deprecated::__construct — Создаёт новый экземпляр атрибута Deprecated

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open