| 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 !	 | 
	
							   			
			
				 |