[php] warnings embêtants, à part le @function, une idée?

warnings embêtants, à part le @function, une idée? [php] - Programmation

Marsh Posté le 17-01-2002 à 03:27:37    

'hu
je suis très chiant dernièrement :D mais c paske je dors pas :cry: !!!
 
voilà,
j'ai une fonction
 
function beginsession($minutes) {
   (!isset($minutes)) ? $minutes = 30 : $minutes = $minutes;
   setcookie("login",$this->login,time()+($minut
es*60));
   setcookie("pass",$this->pass,time()+($minutes
*60));
  }
 
 
mais quand je lui passe pas de paramètres, elle me sort un warning,
c très chiant, j'aimerai qu'elle ne sorte pas de warning, je croyais que je gérais ça avec mon if .....
comment faire?


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 17-01-2002 à 03:27:37   

Reply

Marsh Posté le 17-01-2002 à 03:50:37    

autre question:
est il possible de faire en sorte plusieurs protoypes de fonction et en fonction de ça, choisir la quelle utiliser?
 
par exemple:
 
poster_message( $id_topic , $categorie )
    {
  // inserer la réponse au topic blabla
}
 
poster_message( $categorie )
    {
  // creer un noovo topic blabla
}
 
 
et que en fonction du nombre de paramètres que je passe il choisisse l'une ou l'autre???
je crois en fait que mes deux questions ci dessus sont liées?
mais voilà quoi.....
et du coup, comment ça s'appelle en OO ce type d'action que je veux faire?


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Marsh Posté le 17-01-2002 à 04:00:27    

pour ta fonction, il suffit de fixer une valeur par défaut pour le paramètre :
 
function beginsession($minutes=0)  
{  
  ...
}
 
pour ta seconde question, c'est du polymorphisme dans le vocabulaire objet.
 
tu peux très bien t'en tirer avec une seule fonction PHP, en utilisant la fonction qui récupère les arguments : func_get_args() ( http://www.php.net/manual/en/funct [...] t-args.php ).
 
ta fonction devient donc
 
function poster_message()
{
  $num_args = func_num_args();
  if ($num_args == 1)
  {
    // code nouveau topic, ou appel de la fonction nouveau topic
  }
  else
  if ($num_args == 2)
  {
    // code réponse, ou appel de la fonciton nouvelle réponse
  }
  else
    // erreur  
}
 
dans ce cas, je trouve ce genre de code illisible - je n'en vois absolument pas l'intérêt à part dire 'je fais du polymorphisme, waoo'. tu as deux cas : nouveau sujet, nouvelle réponse. quel est l'intérêt de vouloir 'fusionner' les deux ? si tes deux fonctions partagent du code, tu fais une fonction de base paramétrable, plus deux fonctions (post_topic(), post_reply()) qui s'occupent d'appeler la fonction de base.
 
par exemple.

Reply

Marsh Posté le 17-01-2002 à 10:21:16    

cool mec :)
exactemen t ce que je voulais savoir merci bien pour ton aide !


---------------
mangez du mozilla c le futur, c votre DESTIN ! http://www.mozilla.org/releases/
Reply

Sujets relatifs:

Leave a Replay

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