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] Utilisation de l'autoload


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut [POO] Utilisation de l'autoload
    Bonjour,

    Je continue ici suite à un problème de classe dérivée.
    J'ai un répertoire contenant plusieurs fichiers, chancun étant une classe.
    Certains sont dérivés, et j'utilise un fichier 'unique' ou 'specifique' pour ma fonction __autoload(), puis un include_once() de celui-ci pour faire le lien avec mon script.

    Les objets sont bien créé mais je n'ai plus accés aux méthodes de la classe mère. C'est un poils embêtant, quelqun peut il m'aider ?

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Salut,

    Ca m'épate un peu.

    Si les objets sont bien créés, c'est qu'il n'y a pas eu d'erreur lors de l'instantiation de l'objet, donc que la classe mère a également été trouvée.

    Es-tu sûr que le problème vienne de l'autoload et pas d'une erreur comme un constructeur sans appel au constructeur de la classe mère ?

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut auto & load sont dans un bateau...
    Arff après vérif, j'ai fait un ctrl+C ctrl+V de la seul méthode qui avait une faute de frappe

    Bref un truc méchape, __autoload fonctionne. Dès lorsque si je teste avec class_exists() l'inclusion de ma classe, cela fonctionne alors que je n'ai pas instancier d'objet !

    Normalement mon script ne devrait pas être inclus !?!! n'est pas là l'interet d'__autoload...

  4. #4
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Peut-être que le simple appel à la fonction class_exists() entraîne le mécanisme d'autochargement, ce qui ne me semble pas en conflit avec la non-instantiation de l'objet : ce n'est pas parce qu'un objet n'est pas instancié qu'une classe n'existe pas.

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 895
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 895
    Points : 16 358
    Points
    16 358
    Par défaut
    Citation Envoyé par s.n.a.f.u Voir le message
    Peut-être que le simple appel à la fonction class_exists() entraîne le mécanisme d'autochargement
    Seulement si le deuxième paramètre est renseigné à true. Mais ça on ne le saura que lorsque l'on aura vu le code utilisé.

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut spl vs _auto
    Effectivement class_exists() entraîne le mécanisme d'autochargement, et le 2ème paramètre joue son rôle.

    Je remercie aussi je sais plus qui, qui a fait un tut je sais plus où sur les fonctions spl...
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [POO] utiliser Word avec php
    Par ygaudin dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2006, 11h04
  2. Réponses: 4
    Dernier message: 25/07/2006, 16h30
  3. Réponses: 21
    Dernier message: 04/05/2006, 20h00
  4. [POO] utilisation d'objets
    Par jexl dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2006, 10h32
  5. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 14h34

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