En explorant les bibliothèques PHP, vous avez peut-être remarqué que certains développeurs préfèrent faire précéder leurs méthodes de classe d'un seul souligner, comme :
public function _foo()
...au lieu du plus simple :
public function foo()
Préférences personnelles mises à part, quelle est l'origine de cette convention de dénomination ?
Une théorie suggère que cela remonte à PHP 4, lorsque le langage manquait de mécanismes dédiés pour marquer les méthodes comme protégées ou privées. Les développeurs ont eu recours à un préfixe de trait de soulignement pour signifier : « Hé, n'appelez pas cette méthode depuis l'extérieur de la classe. » Ceci était souvent accompagné d'une annotation /*private/ supplémentaire pour mettre l'accent :
/**private*/ __foo() {...}
Certains spéculent que les traits de soulignement pourraient servir de visuel signalez les méthodes personnalisées ou d'extension qui n'appartiennent pas à l'API de classe principale. Cela pourrait aider les développeurs à identifier et à distinguer les fonctionnalités principales et supplémentaires.
Il est également possible que cette pratique de dénomination ait été empruntée à un autre langage de programmation. Cependant, il ne semble y avoir aucune preuve définitive pour étayer cette théorie.
Il est important de noter qu'il n'existe pas de convention répandue en PHP pour préfixer toutes les méthodes de classe avec des traits de soulignement. Les développeurs que vous avez rencontrés peuvent avoir leurs propres raisons de le faire, mais ce n'est pas une pratique recommandée ou largement adoptée.
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!