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 ?
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...
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 ?
|
|
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
______________________________
Message édité par maverick
____________________
|
|
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...
|
|
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 ? |
|
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à
____________________
|
|
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 ! |
|