Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai une petite question : à quel moment utiliser les notations avec underscores (simple ou double) ?
Par exemple :
$this->_getParam('value');
$this->_db;
function __construct()
Je ne comprends pourquoi certaines fonctions ou variables ont des simple, doubles ou aucun underscore.
Merci pour vos lumières
Hors ligne
pour info,
les informations (methode, propriété) démarrant pas un underscore permet d'indiquer la portée privée ou protected, exception faite de la méthode _() qui permet de faire gerer la traduction.
les methods commencant par 2 underscores sont les méthodes magiques de php (__construct, __destuct, __call, etc.)
Tout doit etre expliquer dans la nomenclature du Zend Framework.
Hors ligne
C'est une convention, simple underscore indique que l'accès au membre est restreint (private) et le double pour les membres magiques comme le constructeur __construct(), __get(), __set(), __call()
Concernant private :
http://fr.wikibooks.org/wiki/Programmat … acc.C3.A8s
Conventions (à la fin de ce diaporama) :
http://www.slideshare.net/weierophinney … sentation/
Hors ligne
Ah voila, merci bcp
Hors ligne
Les attributs ou méthodes qui commencent par un underscore sont non publics (ce qui signifie protégés ou privés).
C'est très pratique lorsqu'on lit une API, de savoir au premier coup d'oeil à quoi on peut accéder.
Le double underscore représente une fonctionnalité (méthode, attribut, constante) reservée au langage PHP
Hors ligne
J'ajouterai Julien, si tu me le permets , que cette convention qui consiste à utiliser un underscore pour signaler les membres non-publics date surtout de l'ère PHP3 et 4, qui ne supportaient pas les attributs de visibilité.
L'un des intérêts étant également de regrouper ce type de membres dans les dialogues d'auto-complétion des éditeurs proposant cette fonctionnalité (à noter que certains peuvent tenir compte de la visibilité lors des suggestions d'auto-complétion...)
Hors ligne