ホームページ  >  に質問  >  本文

PHP のプロパティで ENUM を使用する

<p>次のコードを見てください: </p> <pre class="brush:php;toolbar:false;"><?php 列挙型: 文字列 { ケース A = 'a'; ケースB = 'b'; } #[属性(属性::TARGET_CLASS)] クラスMyAttribute { パブリック関数 __construct(パブリック読み取り専用配列 $mapping) { } } #[MyAttribute(マッピング: [Types::A->value => ''])] クラスエンティティ{ } </pre> <p>エラー <code>定数式に無効な演算が含まれています</code>。プロパティで列挙値を使用して構成を定義したいと考えています。どうやらこれはphpのバグのようです。それは報告すべきでしょうか? </p>
P粉593118425P粉593118425442日前500

全員に返信(1)返信します

  • P粉536532781

    P粉5365327812023-08-27 12:10:24

    問題は、Types::A->value を呼び出すと、実際には定数値ではない列挙型のインスタンスが作成されることです。 この問題を解決するには、定数を定義してそれを参照します。

    リーリー

    php

    のこの問題に注意してください。

    返事
    0
  • キャンセル返事