[Php et classes] valeur par default pour des parametres de fonctions

valeur par default pour des parametres de fonctions [Php et classes] - PHP - Programmation

Marsh Posté le 05-04-2004 à 11:21:20    

Salut !
 
voila j'suis en trian de me faire ma class Php pour ma connection mysql - un petit truc simpa quoi et qui evitera du code souvent redondant
 
pour fair u truc le plus facilement reutilisable j'aurai besoin de pour certaines fonctions de ma class d'initialiser des variables pas default avec des var de ma class  
 
je m'explique :

Code :
  1. Class bdd {
  2. var $bddServer; var $bddLogin; var $bddPasswd;
  3. ....
  4. var $iPosition;
  5. }
  6. function bdd() {
  7. ....
  8. var $iPosition = 0;
  9. .... }
  10. function connect(...)
  11. {...}
  12. etc
  13. function result($iResultat = $this->position) {
  14. // retourne le Ième resultat de ma requete SQL (cf fonction mysql_fetch_array() )
  15. // si $this->position = position courante : on incremente
  16. }


 
et la : $iResultat a pour valeur soit celle précisée - soit celle de la class cad : $this->iPosition
 
il me fait cette erreur :
Parse error: parse error in /var/www/...  on line XX
Fatal error: Cannot instantiate non-existent class: bdd in ...

 
seulement ca passe pas - Vous voyez une solution ?


Message édité par jolly le 05-04-2004 à 11:33:52
Reply

Marsh Posté le 05-04-2004 à 11:21:20   

Reply

Marsh Posté le 05-04-2004 à 16:40:48    

Code :
  1. function result($iResultat = NULL) {
  2.         if($iResultat == NULL)
  3.          $iResultat = $this->position;
  4. }

Non ?

Reply

Marsh Posté le 06-04-2004 à 23:11:00    

mouais c encore la solution que j'ai pris pour le moment mais ca m'enchante pas trop !
 
NULL = 0 c toujours chiant ca ...  
mais on peux les diférentier je crois ...

Reply

Marsh Posté le 06-04-2004 à 23:26:15    

Peut être ca :
function result($iResultat = false) {  
  if  ($iResultat === false)  
    $iResultat = $this->position;  
}
 
D'après ce que j'ai compris, le "===" vérifie l'égalité, y compris l'égalité de type. Si quelqu'un met "0", ca devrait être "==" mais pas "===" :pt1cable:  
(je précise que j'ai jamais testé :D )


Message édité par mrbebert le 06-04-2004 à 23:26:43
Reply

Marsh Posté le 06-04-2004 à 23:26:59    

Remplace $iResultat == NULL par $iResultat === NULL.
 
grillé


Message édité par kalex le 06-04-2004 à 23:27:37
Reply

Marsh Posté le 07-04-2004 à 00:06:26    

juste comme ca, je vois que tu a déclaré une variable $iPosition alors que dans ta fonction tu met en valeur $this->position : c'est pas plutot $this->iPostion ?

Reply

Marsh Posté le 08-04-2004 à 15:56:47    

spike a écrit :

juste comme ca, je vois que tu a déclaré une variable $iPosition alors que dans ta fonction tu met en valeur $this->position : c'est pas plutot $this->iPostion ?


 
si c iPosition.... bon ca va ... :p
 
tant pis vais utiliser FALSE et faire les test dans la fonction alors ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed