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 :

héritage : la classe mère n'est pas dans le même répertoire que la fille


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut héritage : la classe mère n'est pas dans le même répertoire que la fille
    Bonjour,

    si une classe fille hérite d'une classe mère et que les 2 classes sont dans le même répertoire, il suffit d'écrire class fille extends mere {code de la classe } mais je ne parviens pas à faire hériter une classe fille d'une classe mère située dans un répertoire différent...

    Voici mon cas :
    license\table\fille.php
    mere.php
    
    Comment faire hériter la fille de la mère, SVP ?

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    Par défaut
    Bonsoir

    La notion de répertoire devient facultative dès lors que tu as défini des namespaces.

    Chaque classe a un namespace (p.e. Laurent\Classes) et un nom de classe (p.ex. Mother).

    Du coup, si tu désires faire référence à ce "fichier" (cette classe); il suffit d'utilise un Use Laurent\Classes\Mother dans le fichier où tu veux dériver cette classe.

    C'est le nom du namespace qui, associé à un autoloader (composer fait des merveilles), va te soustraire de toute cette mécanique de "mais où se trouve ce fichier?".

    Si tu n'as pas encore pris le temps d'apprendre à utiliser composer; c'est le moment d'y accorder le temps nécessaire. C'est un outil totalement indispensable à un développeur php.

    Bonne soirée.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 828
    Points
    5 828
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup pour ta réponse qui m'a donné la solution.

    J'utilisais déjà les namespaces et les use pour les classes.

    La classe mère possédait donc déjà son namespace. J'ai rajouté un use dans les classes filles et du coup, le codage de l'héritage est très simple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use namespace\mother;
    class daughter extends mother{code de la classe}
    et le tour est joué
    J'ai déjà un autoloader donc pas besoin d'inclure les fichiers avec le code des classes ; il suffit de faire un use.

    Mais non, je n'utilise pas composer. Je compte m'y intéresser demain. Connais-tu un tuto là-dessus ?

Discussions similaires

  1. Réponses: 13
    Dernier message: 17/07/2011, 20h14
  2. [XL-2007] FSO TextStream - Créer un fichier txt dans le même répertoire que le classeur Excel
    Par Sclarckone dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/12/2010, 15h15
  3. Réponses: 6
    Dernier message: 08/09/2010, 15h06
  4. Charger dynamiquement une classe qui n'est pas dans un jar
    Par rastakouair dans le forum Langage
    Réponses: 12
    Dernier message: 17/12/2007, 19h22

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