|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mars 2008 Messages : 149 ![]() |
Bonjour , je recommence tout juste à manipuler le php orienté objet, j'ai des soucis sur la syntaxe :
que signifie " self::$variable " également : has_var get_var set_var merci |
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Inscription : septembre 2007 Messages : 56 ![]() |
Bonjour,
Celà s'utilise pour accéder à une variable de la classe parente (attention, les variables doivent être statiques). Exemple : Code :
A noter que pour utiliser les :: il faut que la fonction et la variable soient statiques. Sinon utiliser $this->variable dans la fonction et pour l'appel dans la page $instanceTest= new test(); $instanceTest->afficherVariable(); Bon, voilà en gros si je me suis pas planté quelque part. Pour les trois autres variables aucune idée, peut-être lié aux fonctions __set() et __get() des classes. Bonne journée, |
||
|
|
01
|
|
|
#3 | |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Citation:
Le mot-clef self permet d'utiliser une méthode ou une propriété de la classe elle-même. Pour utiliser la classe parente, il faut utiliser le mot clef parent. Utiliser ces mots clefs évite simplement de répéter le nom de la classe dans ton code, ce qui simplifie l'évolution du code. Tu peux aussi utiliser ces mots clefs pour appeler des méthodes ou propriétés non statiques.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
|
20
|
|
|
#4 |
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 1 ![]() |
Du coup, quelle différence y a-t-il entre un self::fonction() et un $this->fonction() ?
|
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
self::fonction() appelle une méthode déclarée avec le mot-clef static. Cette méthode n'a pas accès aux propriétés non statiques de la classe, elle ne peut utiliser que les propriétés déclarées elles aussi avec le mot clef static, ce qui signifie que leur valeur est commune à tous les objets de cette classe.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
40
|
|
|
#6 |
|
Membre habitué
![]() Lucas GAUTHERONLycéen Inscription : décembre 2008 Messages : 106 ![]() |
+1, self permet d'accéder à une donnée d'une classe, et non d'un objet (c'est à dire une instance de classe).
En gros, tu accèdes à une variable, une constante, une méthode, dans un contexte "static" |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : décembre 2006 Messages : 184 ![]() |
je conseil l'utilisation de self avec parcimonie
en règle générale, le php n'est pas trop static car le script ne dur qu'un faible temps. a contrario parent peut être nettement plus intéressant, voir très intéressant reste qu'il faut avoir un code bien orienté objet. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com