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 dans une classe de plusieurs méthodes externes


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut [POO] appel dans une classe de plusieurs méthodes externes
    Bonjour,

    Lors de la réécriture de fichiers en oop, je suis confronté à cette question:

    Si je veux utiliser une methode d'une classe parente je l'appelle avec parent::nomDeLaMethodeParente depuis une class extends parentclass mais que faire quand j'ai besoin d'un methode d'une autre classe?

    Déclarer cette methode en static?

    Bref : je suis en plein dans la question de la logique de l'organisation des class et c'est précisément cette question qui n'est jamais traitée dans les manuels.

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Décembre 2009
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 80
    Par défaut
    Soit tu disposes d'un objet de cette classe (par exemple passé en paramètre d'entrée d'une méthode) et auquel cas tu utilises la syntaxe normale ( $objet->methode(...) ), soit effectivement la méthode de l'autre classe est déclarée static et alors tu peux l'appeler par la syntaxe NomClasse::methode(...) où NomClasse est le nom de la classe à laquelle appartient la méthode que tu veux appeler.

  3. #3
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut
    Citation Envoyé par OlgarK Voir le message
    Soit tu disposes d'un objet de cette classe (par exemple passé en paramètre d'entrée d'une méthode) et auquel cas tu utilises la syntaxe normale ( $objet->methode(...) )
    Je n'ai encore jamais passé un objet comme paramètre d'une methode et vais réfléchir à cette solution. Est-ce que ce serait quelque chose comme ça : methode($objetX = new ClassX) ?

    Pour la déclaration en static de la methode, j'avais essayé mais ça n'a pas marché. J'ai fait un test avec un fichier appartenant au même dossier que les classes concernées et j'ai simplement fait NomDeLaClass::MethodeAppelée; mais il aurait peut être fallu auparavent inclure la classe de la methode appelée non? Ce que j'ai trouvé, c'est simplement créer un objet de la classe contenant ma methode et l'appeler depuis cet objet mais je ne suis pas convaincu car n'est-ce pas un peu le foutoir de créer n'importe où des objets quand on en a besoin?

Discussions similaires

  1. [PHP 5.0] [POO] "global" dans une classe
    Par keaton7 dans le forum Langage
    Réponses: 4
    Dernier message: 16/06/2009, 13h40
  2. [POO] Constante dans une classe
    Par Veneria dans le forum Langage
    Réponses: 5
    Dernier message: 22/12/2008, 15h33
  3. [POO] Variable dans une classe
    Par Space Cowboy dans le forum Langage
    Réponses: 3
    Dernier message: 15/02/2007, 20h23
  4. [POO] Fonctions dans une classe abstraite
    Par Seth77 dans le forum Langage
    Réponses: 4
    Dernier message: 27/06/2006, 13h21
  5. Réponses: 14
    Dernier message: 04/12/2005, 08h08

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