Vous devez être membre et vous identifier pour publier un article.
Les visiteurs peuvent toutefois commenter chaque article par une réponse.

Argument facultatif dans une fonction PHP

Astuces de l’Infobrol (Développement)Article publié le 06/11/2005 07:57:01


J'avais une fonction qui était utilisée dans un grand nombre de pages du site de notre intranet. J'ai du ajouter un argument à cette fonction, mais je ne pouvais pas modifier le reste du site (je ne suis pas seule pour le gérer).
Du coup, je me suis retrouvée avec des pages blanches, et la belle alerte suivante:
Warning: Missing argument 2 for checkseclevel() in /home/users/apache_2.0.55/htdocs/php/pserver/lib/pages/sec.inc on line 74


La première solution que j'avais trouvé était de déplacer tout le code de ma fonction dans une autre fonction qui prenait 2 arguments. Dans ma première fonction, je prenais un seul argument et j'appelais ma 2è fonction en lui settant le 2è argument.

Cette méthode fonctionne, mais j'ai trouvé plus propre:
Il suffit de définir une valeur par défaut à l'argument ajouté.
  1. function myfunction($oldarg, $newarg="default value"){
  2. body;
  3. }


Attention
On ne peut plus ajouter d'argument sans valeur par défaut après notre nouvel argument, sinon php ne peut déterminer l'ordre des arguments.

Voilà, j'espère que cela vous servira.

Avatar :: Lea72 Un article de Lea72Modifié 1 fois. (dernière modification le 06/11/2005 08:00:22 par Lea72)



Source : indéterminée


Sélection, tri et recherche d'articles
FILTRER :
TRIER :1er critère : 2e critère :
CHERCHER : Dans les titres Dans le contenu


[Afficher les liens en fonction des critères du formulaire ci-dessus]

Version en cache

21/11/2024 09:37:10 Cette version de la page est en cache (à la date du 21/11/2024 09:37:10) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.

Document créé le 13/09/2004, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/ast-rf-253.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.