|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Bonjour,
je ne trouve pas la réponse, surement parce que les outils de recherche ignorent ces caractères =& Que signifie =& svp ? $var =& mafonction(); Autre exemple : $var =& new $class(); Merci |
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Bonjour,
un petit exemple PHP avec l'opérateur de référence? Code :
DaRiaN. |
||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Bonsoir DaRian et merci pour ta réponse
Mmh donc si je comprends bien, $b et $a subissent les même effets quand on touche à l'une ou a l'autre ? Si c'est bien ça, je me demande dans quel cas ça peut s'avérer utile plutôt que d'utiliser une seule variable ? |
|
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Oui, avec mon exemple, c'est franchement de l'aliasing de base.
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Bonjour,
d'accord je comprends ton exemple et en voit l'intêret pour manipuler la valeur d'une fonction mais je ne vois pas trop l'intêret de créer une classe ou d'executer une fonction comme ceci Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
|
|
00
|
|
|
#7 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
En gros c'est passé une variable, une fonction, etc par référence pour alléger le serveur en mémoire.
Mais bon, pour plus d'infos, il faut chercher aussi "passage de variable par référence" |
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Je vais vous avouer que je ne me suis jamais penché sur cette question, je tâcherai d'y voir plus clair quand j'aurais une minute.
|
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Bonjour,
ah d'accord ! Je comprends mieux maintenant. Effectivement avec le terme plutôt que le signe & c'est plus facile de trouver des résultats ^^ Donc pour être sûr et me l'enfoncer dans le crane : Là $varClass fait référence à $class sans charger à nouveau en mémoire le contenu de $class ? $varFonction fait référence à mafonction() sans la charger à nouveau en mémoire ? Donc une sorte de lien vers la ressource qui est en mémoire quoi ? Merci à vous 2 |
|
|
00
|
|
|
#10 |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
Note : en PHP 5, le passage par référence pour les objets est effectué par défaut par php.
Donc pas besoin du & devant |
|
00
|
|
|
#11 |
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Tu es sûr car PHP (5.2) consomme moins de ressource mémoire (quelques centaines d'octets par objet) avec la référence.
Exemple get_memory_usage() me retourne moins d'octet qu'avec Tu veux peut être dire avec un passage de la façon ci-dessous ? Là effectivement il n'y a aucune différence de mémoire. |
|
|
00
|
|
|
#12 | |
|
Membre éprouvé
![]() Inscription : décembre 2005 Messages : 818 ![]() |
Je cite pour la section POO du livre "PHP 5 avancé 3e édition" :
Citation:
Voilà ce qui est dit sur le passage par référence pour les objets, donc j'en conclu que l'opérateur & ne soit pas nécessaire. |
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Nicolas Webmaster Inscription : janvier 2008 Messages : 172 ![]() |
Merci pour ces précisions
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com