Maison > développement back-end > tutoriel php > Mettre des parenthèses ou ne pas mettre des parenthèses : quand les parenthèses sont-elles nécessaires pour l'instanciation de classe PHP ?

Mettre des parenthèses ou ne pas mettre des parenthèses : quand les parenthèses sont-elles nécessaires pour l'instanciation de classe PHP ?

Mary-Kate Olsen
Libérer: 2024-11-20 14:34:15
original
557 Les gens l'ont consulté

To Parenthesize or Not to Parenthesize: When Are Parentheses Necessary for PHP Class Instantiation?

Instanciation de classe PHP : parenthèses ou pas ?

Lors de la création d'une instance d'une classe en PHP, il est courant de se demander si les parenthèses qui suivent le nom de la classe est obligatoire. Cette question se pose particulièrement lorsqu'aucun paramètre de constructeur n'est impliqué.

Considérons deux exemples :

$foo = new bar;
$foo = new bar();
Copier après la connexion

Ces deux instructions sont fonctionnellement identiques. Les deux créeront une instance de la classe bar et l'attribueront à la variable $foo.

La signification des parenthèses

Bien que les parenthèses puissent sembler facultatives, il existe en réalité quelques subtilités à considérer. En PHP, les parenthèses servent à deux fins principales :

  1. Instanciation : Les parenthèses indiquent que le code suivant est une instruction de création d'instance.
  2. Fonction Invocation :Les parenthèses sont également utilisées pour l'invocation de fonctions.

Dans le cas de l'instanciation de classe, l'absence de parenthèses peut prêter à confusion. Sans parenthèses, PHP tentera d'analyser le code comme une invocation de fonction. Par exemple :

$object = new bar;
echo $object->name(); // Error: Function "name" not found
Copier après la connexion

Dans cet exemple, PHP interprète "nouvelle barre" comme un appel de fonction et tente de trouver une fonction nommée "nom", qui n'existe pas. L'ajout de parenthèses résout ce problème :

$object = new bar();
echo $object->name(); // Success: Function "name" found
Copier après la connexion

Préférence personnelle

En fin de compte, l'utilisation ou non de parenthèses lors de l'instanciation d'une classe sans paramètres de constructeur est une question de préférence personnelle . Cependant, il est important d'être conscient du risque de confusion lié à l'omission des parenthèses.

Si vous n'avez pas de convention de codage spécifique, n'hésitez pas à utiliser l'option que vous préférez. Certains développeurs préfèrent inclure des parenthèses pour plus de clarté, tandis que d'autres aiment les omettre pour plus de simplicité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal