"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Les propriétés de classe PHP peuvent-elles être initialisées avec des expressions non constantes ?

Les propriétés de classe PHP peuvent-elles être initialisées avec des expressions non constantes ?

Publié le 2024-11-10
Parcourir:442

Can PHP Class Properties Be Initialized with Non-Constant Expressions?

L'énigme de l'initialisation de classe PHP : évaluation des expressions dans les déclarations de propriété

La documentation PHP stipule que les déclarations de propriété de classe peuvent être initialisées avec des valeurs constantes. Cependant, les utilisateurs ont rencontré des erreurs de syntaxe lorsqu'ils tentaient d'initialiser des tableaux avec des expressions non constantes.

Exemple d'erreur de syntaxe :

public $var = array(
    1 => 4,
    2 => (4 1), // Syntax error
);

Problème sous-jacent :

L'erreur provient d'une limitation de PHP 5.5 et des versions antérieures, où seules les valeurs constantes étaient autorisées dans les déclarations de propriété. Cela inclut les valeurs qui peuvent être évaluées au moment de la compilation. Cependant, l'utilisation d'expressions calculées, comme « 4 1 », était interdite.

Résolution dans PHP 5.6 :

Cette limitation a été levée dans PHP 5.6 avec l'introduction d'expressions scalaires constantes. Cette fonctionnalité permet la syntaxe suivante :

public $var = array(
    1 => 4,
    2 => (4 1),
);

public $var = 4 1;

Conclusion :

L'erreur de syntaxe rencontrée dans les versions antérieures de PHP lors de l'initialisation des propriétés de classe avec des expressions non constantes a été résolue en PHP 5.6 et versions ultérieures. Les expressions scalaires constantes permettent désormais aux développeurs d'initialiser les propriétés avec des valeurs calculées qui peuvent être évaluées au moment de la compilation.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3