PHP utilisant ENUM dans les propriétés
P粉593118425
2023-08-26 23:17:00
<p>Regardez le code suivant : </p>
<pre class="brush:php;toolbar:false;"><?php
enum Types : chaîne {
cas A = 'a';
cas B = 'b';
}
#[Attribut(Attribut ::TARGET_CLASS)]
classe MonAttribut {
fonction publique __construct (tableau public en lecture seule $ mappage)
{
}
}
#[MonAttribut(mapping : [Types::A->value => ''])]
classe Entité {
}
≪/pré>
<p>Erreur <code> L'expression constante contient une opération non valide</code>. Je souhaite utiliser des valeurs enum dans mes propriétés pour définir la configuration. On dirait que c'est un bug dans php. Faut-il le signaler ou quoi ? </p>
Le problème est que lorsque nous appelons Types::A->value, cela crée en fait une instance de l'énumération, qui n'est pas une valeur constante. Pour résoudre ce problème, définissez une constante et référencez-la.
Faites attention à ce problème dans php