Class not found

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

3 réponses

  1. 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.
    1. Contributeur
      Je n'ai pas fait ça, mais en faisant un echo 'XXX', ça n'affiche rien.
      Bizarre non ?
      1. 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 ?