cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 2008
-
10 août 2005 à 19:55
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009
-
11 août 2005 à 19:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 11 août 2005 à 19:43
En fait, ça m'enerve, ça parce que mon coeur de programmeur est partagé par le notion d'objet. En fait, pour moi, c'est assez radical : soit tout est orienté objet, soit rien. Et du coup, PHP5, c'est vrai que c'est cool pour la P20 (la méthode magique __clone(), ça m'a bien plus :) ) ... Mais dans ce cas, pourquoi on ne considère pas les nombres et les chaines de caractère comme des objets ... Franchement, un :
$texte = new String('Coucou ! ');
echo $texte -> Length;
, ça fait pas tache. En fait, ça manque un peu ...
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 11 août 2005 à 18:26
PHP5
$a = new clazz();
$b $a; // $a $b
$c =& $a; // Cette notation n'existe plus en PHP5 pour les classes
Avant en PHP4, on clonait systèmatiquement les objets. C'est pour ça qu'il fallait mettre des & un peu partout (argument et retour de fonction par exemple). En PHP5, on ne clone plus par défaut, on fait une simple référence. Pour cloner on doit précéder l'instance par le mot "clone"
$b = clone $a; ainsi on aura une nouvelle classe (comme en PHP4). Tu peux aussi spécifier comment tu veux que les données soient clonées avec la méthode magique __clone().
(C'est rendu comme Java pour la gestion des classes :))
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 11 août 2005 à 17:32
Par lien, ça veut dire quoi ? Par référence ?
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 11 août 2005 à 16:55
La gestion des classes est compètement révolue. Elle fonctionne par lien comme ne Java; et private public protected et tout le kit comme tu dis c'est beaucoup plus utile !
GiUsTiNo
Messages postés129Date d'inscriptionlundi 26 avril 2004StatutMembreDernière intervention30 juin 2012 11 août 2005 à 14:36
Tout dépend de ce que tu en fais, mais c'est quand même plus puissant ...
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 11 août 2005 à 14:30
Ok pour true / false ... Mais qu'est ce qu'il a de si génial le PHP5 ? ... A part public / private / etc. et __constructor() / __destructor(), c'est pareil, non ?
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 10 août 2005 à 19:55
Utilise true/false au lieu de 1/0 :)
Tu devrais te mettre au php5 ;)
11 août 2005 à 19:43
11 août 2005 à 18:26
$a = new clazz();
$b = $a; // $a !== $b
$c =& $a; // $a === $b
PHP5
$a = new clazz();
$b $a; // $a $b
$c =& $a; // Cette notation n'existe plus en PHP5 pour les classes
Avant en PHP4, on clonait systèmatiquement les objets. C'est pour ça qu'il fallait mettre des & un peu partout (argument et retour de fonction par exemple). En PHP5, on ne clone plus par défaut, on fait une simple référence. Pour cloner on doit précéder l'instance par le mot "clone"
$b = clone $a; ainsi on aura une nouvelle classe (comme en PHP4). Tu peux aussi spécifier comment tu veux que les données soient clonées avec la méthode magique __clone().
(C'est rendu comme Java pour la gestion des classes :))
11 août 2005 à 17:32
11 août 2005 à 16:55
11 août 2005 à 14:36
11 août 2005 à 14:30
10 août 2005 à 19:55
Tu devrais te mettre au php5 ;)