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 :

[POO] Appel d'une méthode dans une méthode [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Points : 92
    Points
    92
    Par défaut [POO] Appel d'une méthode dans une méthode
    Bonjour/ bonsoir,
    Dans une classe, j’ai une méthode qui après traitement d’information, doit afficher un fichier
    Une fois ce fichier visible, j’aurais aimé pouvoir me servir à nouveau d’une autre méthode, mais de la même classe, et dans ce même fichier. Est-ce que cela est possible ?
    En espérant avoir été clair…
    merci,

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par yann18
    En espérant avoir été clair…
    Non, pas vraiment
    Et le code que tu montres ne permet pas vraiment de clarifier les choses !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    Bonjour

    Je n'ai pas bien compris

    Si tu veux appeler une autre méthode (methodeB) dans une méthode (methodeA)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Maclass
    {
      public function methodeA()
      {
         //traitements
         $this->methodeB();
         //traitements
      }
      public function methodeB()
      {
         //traitements
      }
    }
    Si c'est au niveau de l'algo que tu bloques, peux tu donner plus d'informations?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Points : 92
    Points
    92
    Par défaut
    Bonjour/ bonsoir,
    Je me doutais bien que mon code n’était pas clair…
    J’ai une classe dans laquelle j’ai deux méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class ControllerProd {public function setFiche($setFiche) {$this->modelProduction->getFiche($setFiche);
    …
    }
    // Doit afficher une image
    public function setImg($setImg){
            if (empty ($setImg)) {
                echo ILLUSTRATION_FICHE;// une constante
            } else {
                echo $setImg;
            }
        }
    }
    Dans une seconde classe, la première méthode getFiche() appelle un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function getFiche($getFiche){require 'file.php';
    …
    }
    Dans le fichier 'file.php', j’aimerai pouvoir appeler à son tour la seconde fonction setImg($setImg) de la classe ControllerProd
    Mieux comme ça ?
    merci,

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    2ème essai (on va y arriver ):

    Dans ton file.php tu souhaiterais faire un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $controllerProd = new ControllerProd();
    $controllerProd->setImg($setImg);
    Veille à que ton fichier file.php puisse accéder à la définition de la classe "ControllerProd" avec un "include" au bon endroit si besoin.

  6. #6
    Membre éclairé Avatar de Code62
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 898
    Points
    898
    Par défaut
    La méthode de Thomas974 fonctionnera, mais t'obligera à instancier un second controler (où à en faire un singleton)

    Solution peut-être plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // transmet le controlleur au modele
    $this->modelProduction->getFiche($this, $setFiche);
     
    // ...
    function getFiche($controler, $getFiche){require 'file.php'; // à accès à $controler->setImg()}
    "Le premier venu peut écrire du code qu'un ordinateur peut comprendre. Les bons programmeurs écrivent du code que les humains peuvent comprendre."
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
    (Martin Fowler)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Intéressant ça, code62... Merci pour vos réponses

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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