Page 1 sur 1

Resolu : instance de classe

Posté : 16 oct. 2011, 12:50
par baddev
Bonjour

Une petite question, c'est quoi la difference entre :
$inst = new classe();
et
$inst = &new classe
?

Y en a-t-il une meilleure que l'autre ?

Il est dit ici : references que cela sert a appeler le contenu d'une variable avec un autre nom. Quel est l'interet de faire ca avec une classe ?

Et les parentheses sont elles indispensables ?

Merci

Re: instance de classe

Posté : 16 oct. 2011, 13:10
par xTG
Une référence sur un new je suis pas sûr que cela soit utile, mais je peux me tromper.
Il me semble que depuis PHP 5.3 un new renvoie toujours une référence.

Re: instance de classe

Posté : 16 oct. 2011, 13:26
par soycd
C'est déprécié de faire une référence sur new, d'ailleurs je savais même pas qu'on pouvait faire ça :mrgreen:

Enfin ça revient à faire
$inst = new classe();
$inst2 = &$inst;

Re: instance de classe

Posté : 17 oct. 2011, 11:11
par popy
Pas exactement.

En php4 si tu ne met pas le & devant ton new ça faisait une copie de l'objet, ce qui pouvait s'avérer problématique.

Re: instance de classe

Posté : 17 oct. 2011, 12:04
par baddev
Merci pour vos reponses ! Je me permets d'insister : et les parentheses ? indispensables ? :)

Re: instance de classe

Posté : 17 oct. 2011, 13:50
par xTG
et les parentheses ? indispensables ? :)
Bah testes et si tu te choppes une erreur tu seras fixé. :P

Re: instance de classe

Posté : 17 oct. 2011, 15:22
par soycd
Pas exactement.

En php4 si tu ne met pas le & devant ton new ça faisait une copie de l'objet, ce qui pouvait s'avérer problématique.
Ok, mais là, je parle de php5, pas de php4.

Re: instance de classe

Posté : 17 oct. 2011, 16:42
par popy
Je sais, mais j'explique le pourquoi du comment, même si ça passe par expliquer qu'on sait lire les hiéroglyphes grâce à la pierre de rosette :)

Re: instance de classe

Posté : 18 oct. 2011, 08:36
par baddev
et les parentheses ? indispensables ? :)
Bah testes et si tu te choppes une erreur tu seras fixé. :P
Ben si j'avais une erreur ca serait plus simple.. Mais la : yo n'a pas ! Donc je rephrase :) : la declaration reste t elle strictement identique avec et sans parenthese ? :wink:

Re: instance de classe

Posté : 18 oct. 2011, 10:29
par xTG
Si tu ne mets pas de parenthèse tu appelles bien le constructeur sans lui passer de paramètres. ;)

Re: instance de classe

Posté : 18 oct. 2011, 10:48
par baddev
Si tu ne mets pas de parenthèse tu appelles bien le constructeur sans lui passer de paramètres. ;)
Merci ! ;)