IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Réutiliser une fonction


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut Réutiliser une fonction
    Bonjour

    J'aimerai savoir comment réutiliser une fonction avec des variables différentes. Cad que j'ai par exemple la fonction suivante qui me permet d'extraire les variables d'un array pour en faire un menu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function menu_main($menu_main) // on veut savoir quand $menu_main == $_CLEAN_PAGE['page']
    // Classe utilisées : .currentPage -> page courante
    		{
    		global $_CLEAN;
    		foreach ($menu_main as $key=>$item) 
     
    		if ($key != $_CLEAN['page']) { //si la $key n'est pas la page courante, affiche:
    			echo '<li><a href="index.php?page='.$key.'">'.$item.'</a></li>';
    		}
    		else  //sinon, affiche:
    			echo '<li><a class="currentPage" href="index.php?page='.$key.'">'.$item.'</a></li>';
    		unset ($key);unset ($item);
    };
    Il traite ici l'array $menu_main. Comment réécrir ce code pour pouvoir l'utiliser avec d'autre array sans le recopier intégralement?

    Malgrè les quelques cours sur les fonctions que j'ai pu lire, je n'ai pap trouver d'information de ce type... Si quelqu'un à une liens ou, encore mieux, une explication, je suis preneur

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 088
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 088
    Points : 8 184
    Points
    8 184
    Billets dans le blog
    17
    Par défaut
    A moins que je ne comprenne pas la question il suffit de changer la valeur du tableau transmis à la fonction non ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Pour etre franc je n'ai pas encore essayé mais je précise quand meme ma question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function montrer_menu($menu_main)
    		{
    		global $_CLEAN;
    		foreach ($menu_main as $key=>$item) 
     
    		if ($key != $_CLEAN['page']) { //si la $key n'est pas la page courante, affiche:
    			echo '<li><a href="index.php?page='.$key.'">'.$item.'</a></li>';
    		}
    		else  //sinon, affiche:
    			echo '<li><a class="currentPage" href="index.php?page='.$key.'">'.$item.'</a></li>';
    		unset ($key);unset ($item);
    };
    SI je veux utiliser cette fonction sur $menu_footer au lieu de $menu_main, j'appelle la fonction de la manière suivante:

    <?php montrer_menu($menu_footer) ?>

    Seulement si je ne m'abuste, dans la fonction, menu_main est bien appelé (foreach ($menu_main as $key=>$item) ). Hors je voudrai, de toute évidence, que $menu_main soit remplacé par menu_footer dans toute la fonction, sans la réecrire... Comment faire?

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Tu as l'air perdu avec les paramètre d'une fonction !!
    Nomme mieux tes variables, pour mieux te repérer. C'est à dire, les paramètres ne "doivent" pas porter le même nom que les objets vers lesquels ils pointent. Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    montrer_menu($menu_main);
    ...
    montrer_menu($menu_footer);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function montrer_menu($menu_a_montrer)
    		{
    		global $_CLEAN;
    		foreach ($menu_a_montrer as $key=>$item) 
     
    		if ($key != $_CLEAN['page']) { //si la $key n'est pas la page courante, affiche:
    			echo '<li><a href="index.php?page='.$key.'">'.$item.'</a></li>';
    		}
    		else  //sinon, affiche:
    			echo '<li><a class="currentPage" href="index.php?page='.$key.'">'.$item.'</a></li>';
    		unset ($key);unset ($item);
    };
    Tu passes en paramètre un objet, et seul cet objet est modifier.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Points : 46
    Points
    46
    Par défaut
    Merci beaucoup pour cette explication.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réutilisation d'une dll vba dans une fonction pgsql
    Par frenchsquid dans le forum Extensions
    Réponses: 0
    Dernier message: 15/02/2012, 13h08
  2. Réutiliser une fonction par laquelle on est passer
    Par Ceubex dans le forum Général Java
    Réponses: 11
    Dernier message: 19/10/2010, 13h04
  3. Solution simple pour développer ou réutilise une fonction de recherche sur des BDs
    Par geforce dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 18/04/2010, 19h12
  4. réutiliser une fonction
    Par morgan47 dans le forum Langage
    Réponses: 5
    Dernier message: 13/10/2009, 21h30
  5. Réponses: 8
    Dernier message: 10/01/2007, 21h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo