Navigation : Forums > Forum Général > Nul en PHP ?

Pages : 1 Poster un nouveau sujet Ajouter un message
Auteur Message
totom

Messages : 95
Inscrit le : 14/05/2002
Posté le 19/06/2002 à 10:51:13 Message N°1 #
Voilà ce qui m'arrive : j'ai relu le script de la classe MySQL, et que vois-je ? :eek:

function DB($altHost = "",... ) {
if ($altHost == "" )
$altHost = $this->Host;
//...
$this->Host = $altHost;
//...
}


Je comprends bien qu'il faut tester si $altHost est renseigné, mais c'est l'instruction d'après que je comprends pas... :cry:

Pourtant ça fait pas si longtemps que j'ai arrêter de vraiment progammer...

Bon, je fais quoi : je sors ou je vais me coucher ?


Profil Citer
maverick

maverick

Messages : 619
Inscrit le : 04/04/2002
Posté le 19/06/2002 à 13:28:45 Message N°2 #
allez pour une fois, tu sors pas :-)

au début du script, on définit 4 constantes,

DEFINE ("SQL_HOST","mon serveur sql" ) ;
DEFINE ("SQL_BDD","ma base de données" ) ;
DEFINE ("SQL_USER","monlogin" ) ;
DEFINE ("SQL_PASSWORD","monpassword" ) ;

le altHost, altDB, etc te permettent de passer exceptionnellement des param de connexion sans modifier la classe.

Dens le constructeur, on teste si chaque alt est nul, et si c'est le cas, on définit altHost comme étant $this->Host, autrement dit, celui défini par la constante du début.

en fin de constructeur, on fait ca :
$this->Host = $altHost;
$this->Database = $altDB;
$this->User = $altUser;
$this->Password = $altPassword;

Autrement dit, on redéfini Host, Db, etc par les alt.

En résumé, si tu passes un alt dans le constructeur, tu défini ces alt comme variables de classe, sinon, tu utilises les constantes

J'espère avoir été assez clair dans mon explication :P

______________________________
Message édité par maverick
____________________
image
Profil Citer
loranger

Messages : 392
Inscrit le : 04/04/2002
Posté le 19/06/2002 à 13:31:16 Message N°3 #
Et là, tu vas te coucher...

:lol:
Profil Citer
totom

Messages : 95
Inscrit le : 14/05/2002
Posté le 21/06/2002 à 10:20:16 Message N°4 #
Ouais, mais alors si tu passes pas les alt quand tu appelles le contructeur, les membres données de la classe ont des valeurs "à la con", non ?

Oups, en fait, je vois d'où vient ma "mauvaise lecture"...

Dans la description de la classe MySQL, il y a :
$maVar = new DB ( ) ; // Pour se connecter
Et en fait, il faut appeler
$mavar -> connect()
puisqu'elle n'est pas appellée dans le contructeur...

Et autre chose que je ne savais pas (j'avais jamais fait d'orienté objet en PHP), c'est que tous les membres données sont "publics" => on peut faire depuis n'importe où
$mavar -> data = ...

C'est bien ça ?
Profil Citer
maverick

maverick

Messages : 619
Inscrit le : 04/04/2002
Posté le 21/06/2002 à 10:54:29 Message N°5 #
quand tu es au sein meme de la classe, c'est :
$this->variable_membre

et à l'extérieur :
$mavar->variable_membre

Voilà :P
____________________
image
Profil Citer
totom

Messages : 95
Inscrit le : 14/05/2002
Posté le 21/06/2002 à 12:42:26 Message N°6 #
yep, ça je m'en souviens...

:-)

thanks !
Profil Citer

Navigation : Forums > Forum Général > Nul en PHP ?

Pages : 1 Poster un nouveau sujet Ajouter un message


Se rendre directement sur le forum :