Bonjour,
Je rencontre un problème dont je n'arrive pas à sortir. J'en suis à la partie où l'on doit tester le bon fonctionnement des différents éléments (index, includes, Dispatcher) et avoir un echo "lol" à l'écran. Dans mon cas je reçois une erreur :
Fatal error : Class 'Dispatcher' not found in /Library/WebServer/Documents/Tuto/Site/webroot/index.php on line 9
J'ai tout bien vérifié, j'ai même utilisé les fichiers sources et j'ai toujours la même erreur.
Quelqu'un a-t-il déjà rencontré ce problème ou aurait une solution à me proposer ?
Merci
Bon, c'est une histoire de fou : j'ai jeté les 2 fichiers "includes.php" et "Dispatcher.php", je les ai recréés, j'ai retapé le code et là tout fonctionne ! En tout cas merci de ton aide !
et ça
<?php
class Dispatcher{
function __construct(){
echo'lol';
}
}
dans Dispatcher.php
Et donc ça
<?php
define('WEBROOT',dirname( __FILE__ ));
define('ROOT',dirname(WEBROOT));
define('DS',DIRECTORY_SEPARATOR);
define('CORE',ROOT.DS.'core');
define('BASE_URL',dirname(dirname($_SERVER'SCRIPT_NAME'])));
require CORE.DS.'includes.php';
new Dispatcher();
?>
dans l'index
c'est vraiment une chose bizarre,
est-ce que les fichiers includes.php et Dispatcher.php se sont au même niveau ?
essayes de supprimer Dispatcher.php et ses includes. et dans ton index.php tu mets le code de ton Dispatcher avant le new Dispatcher()
Oui, comme ça ça fonctionne, j'ai bien "lol" qui s'affiche.
<?php
define('WEBROOT',dirname( __FILE__ ));
define('ROOT',dirname(WEBROOT));
define('DS',DIRECTORY_SEPARATOR);
define('CORE',ROOT.DS.'core');
define('BASE_URL',dirname(dirname($_SERVER'SCRIPT_NAME'])));
// require CORE.DS.'includes.php';
class Dispatcher{
function __construct(){
echo'lol';
}
}
new Dispatcher();
?>
donc le problème vient surement de la part des includes.
tu peux montrer la structure de tes fichiers ?
La structure c'est le contenu ?
includes.php :
<?php
require 'Dispatcher.php';
Dispatcher.php :
<?php
class Dispatcher{
function __construct(){
echo'lol';
}
}
index.php :
<?php
define('WEBROOT',dirname( __FILE__ ));
define('ROOT',dirname(WEBROOT));
define('DS',DIRECTORY_SEPARATOR);
define('CORE',ROOT.DS.'core');
define('BASE_URL',dirname(dirname($_SERVER'SCRIPT_NAME'])));
// require CORE.DS.'includes.php';
class Dispatcher{
function __construct(){
echo'lol';
}
}
new Dispatcher();
?>
tout ça dans /site/core(includes, Dispatcher) et dans site/webroot(index)
Bonsoir,
Je me permets de venir publier ici pour ne pas encombrer le reste du forum avec un sujet identique car je suis bloqué avec exactement le même problème!
J'ai beau effacer les fichiers et recommencer, retaper le code,etc... je n'arrive pas à m'en sortir avec ce problème d'includes.
Donc c'est pour savoir si des fois vous auriez des conseils où d'autres choses à me faire essayer...
(J'ai même fini par copier le code de ce sujet, sans succès!)
Je dispose de la même arborescence de fichiers, du même code, j’éteins et rallume Wamp, rien n'y fait!
Et le Apache_error.log me dis:
[Mon Oct 29 21:50:41 2012] [error] [client 127.0.0.1] PHP Fatal error: Class 'Dispatcher' not found in C:\\Program Files\\wamp\\www\\MonSite\\webroot\\index.php on line 18
[Mon Oct 29 21:50:41 2012] [error] [client 127.0.0.1] PHP Stack trace:
[Mon Oct 29 21:50:41 2012] [error] [client 127.0.0.1] PHP 1. {main}() C:\\Program Files\\wamp\\www\\MonSite\\webroot\\index.php:0
En tout cas merci d'avance de votre aide.
Benj
Bonsoir,
Je ne saurais t'aider plus que ça parce que je n'ai jamais trouvé l'erreur. Le système s'est mis à fonctionner après que j'ai jeter et recréé les fichiers "includes.php" et "Dispatcher.php".
Désolé, j'espère que tu vas trouver.
Bonjour,
Oh miracle, oh grand dieu j'ai recommencé, ça a marché!... Je ne vais pas chercher a comprendre je risque un bon mal de crâne!
Merci pour ta réponse et bonne continuation! =)