Passage de variables par référence : problème
Utilisateur anonyme
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
je cherche quelqu'un qui peut me dire se que signifie ces deux points dans cette synthaxe :
si vou plai ? C'est les deux points qui m'embête :o)
je cherche quelqu'un qui peut me dire se que signifie ces deux points dans cette synthaxe :
$personne =& Personne::getInstance();
function &getInstance(){
global $personne_instance;
if(!isset($personne_instance))
$personne_instance = new Personne();
return $personne_instance;
}
si vou plai ? C'est les deux points qui m'embête :o)
A voir également:
- Passage de variables par référence : problème
- Passage qwerty azerty - Guide
- Passage windows 10 à 11 gratuit - Guide
- Test passage windows 11 - Guide
- Indice de référence des loyers - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
4 réponses
Bon, ça fait un ou deux ans que j'ai pas fait de C mais, selon mes souvenirs, les :: signifient l'appartenance. Je suis pas totallement certains de ce que je te dis mais, si mes souvenirs sont bons.
dans ton cas, le programme va chercher la fonction getInstance() de la classe Personne. S'il existait une autre fonction nommée getInstance() dans ton main, il prendrait quand même celle de classe Personne.
Encore là, j'aimerais que quelqu'un puisse confirmer ce que je dis... je ne voudrais pas t'induire en erreur.
dans ton cas, le programme va chercher la fonction getInstance() de la classe Personne. S'il existait une autre fonction nommée getInstance() dans ton main, il prendrait quand même celle de classe Personne.
Encore là, j'aimerais que quelqu'un puisse confirmer ce que je dis... je ne voudrais pas t'induire en erreur.
C'est le Paamayim Nekudotayim! :-)
En fait c'est l'opérateur de résolution pour accéder aux données statiques à une classe.
Je m'explique, son sens est légèrement différent des deux points en C++ qui ont une signification plus "ample".
En c++, cet opérateur permet de faire référence à un élément dans une classe ou un espace de nom.
En php, il ne sert qu'à appeler les membres et méthodes statiques d'une classe, c'est à dire les variables et fonctions qui sont propres à la classe et non pas propres à chaque instance de la classe.
Donc au final, dans une classe, ce qui est défini avec le mot clé "static" peut être appelé avec ces deux points (sauf variables statiques à une fonction, bref oublions ça, ça complique les choses)...
En fait c'est l'opérateur de résolution pour accéder aux données statiques à une classe.
Je m'explique, son sens est légèrement différent des deux points en C++ qui ont une signification plus "ample".
En c++, cet opérateur permet de faire référence à un élément dans une classe ou un espace de nom.
En php, il ne sert qu'à appeler les membres et méthodes statiques d'une classe, c'est à dire les variables et fonctions qui sont propres à la classe et non pas propres à chaque instance de la classe.
Donc au final, dans une classe, ce qui est défini avec le mot clé "static" peut être appelé avec ces deux points (sauf variables statiques à une fonction, bref oublions ça, ça complique les choses)...