# 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 の値として Major.Minor を利用します。 例えば `'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