Rechercher : dans
Par :

Class not found

Dernière réponse le 14 jun 2009 à 22:44:30 darkchristophetd, le 13 jun 2009 à 14:26:52 
 Signaler ce message aux modérateurs

Bonjour,
Je poste dans le forum à cause d'une erreur que je trouve vraiment illogique.
Voici mes codes.

membres.php

<?php
[...]
//inclusion de classe
include('modeles/membres/classes/membre.class.php');

//inclusion du controleur principal 
include('controleurs/membres_controleur.php');

[...]
?>



membre.class.php

<?php
class Membre
{
     public function __construct()
     {
          [...]
     }

     public function inscription()
     {
          [...]
     }
}
?>


membres_controleur.php

<?php
$membre = new Membre();
$membre->inscription();
?>



Et ce code tout bête qui devrait (il me semble) fonctionner parfaitement, m'affiche l'erreur Fatal error: Class 'Membre' not found in C:\...\controleurs\membres_controleur.php on line 2 ... Alors que la classe a été inclue juste avant le contrôleur qui appelle la classe !

Pourquoi cette erreur est-elle affichée ?
Je me creuse la tête mais ne parviens pas à trouver mon erreur ...
Merci d'avance pour votre aide,
christophetd
Configuration: Window XP
1.5GO RAM

Meilleures réponses pour « Class not found » dans :
Erreur: xvidcore.dll not found VoirProblème: Vous avez une erreur "xvidcore.dll not found" lorsque vous essayez de lire une vidéo? Il est très facile et rapide de résoudre ce problème, suivez la résolution ci-dessous. Solution: Rendez-vous sur ce lien: http://www.dll...
Phpize: command not found VoirMalgré l'installation de php, lors de l'installation d'une extension pecl, le message suivant apparait: sh: phpize: command not found ERROR: `phpize' failed sous Deiban, la solution se trouve dans l'installation du packet php5-dev qui contient la...

1

le père, le 13 jun 2009 à 22:08:56

Bonjour

Je viens de faire l'essai, ça marche chez moi. Donc tu as raison, ça doit fonctionner.
Peux-tu rajouter une erreur volontaire (genre $x=;) dans membre.class.php, juste avant le définition de Membre pour vérifier que tu y passes bien ?

Répondre à le père

2

darkchristophetd, le 13 jun 2009 à 22:17:11

Je n'ai pas fait ça, mais en faisant un echo 'XXX', ça n'affiche rien.
Bizarre non ?

Répondre à darkchristophetd

3

 le père, le 14 jun 2009 à 22:44:30

Il ne fallait pas faire le test avec un echo.
En effet, le PHP est interpreté en 2 passes. L'echo n'est exécuté qu'à la deuxième passe, alors que ton erreur de classe non déclarée est détectée dès la première passe. Donc avant l'éxécution de l'echo même si celui-ci est placé avant.
C'est pour ça que je t'avais dit de provoquer une erreur qui est détectée dès la première passe.

Répondre à le père