Class not found

youyourissani - 24 déc. 2012 à 12:28
 Utilisateur anonyme - 25 déc. 2012 à 23:06
salut a tous,
je suis en train de développer une application avec PHP5 avec la méthode MVC,
lorsque je instancier une classe ou hérité à une classe toujours j'ai obtenu une erreur class not found.
quelqu'un peut m'aider s'il vous plait.

6 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 déc. 2012 à 12:34
Salut,

Pour hériter d'une classe il faut que cette dernière soit définie avant. Le plus simple afin d'assurer ça est de mettre chaque classe dans un fichier dédié et d'utiliser l'auto inclusion grâce à spl_autoload_register(). Afin de garantir un maximum de portabilité, je t'invite à respecter les recommandations PSR-0.
0
youyourissani
24 déc. 2012 à 12:47
merci pour la réponse,
voila mon code :
<?php
//Lancement des pages
$base=new Base();
?>
la classe Base est déjà définie et se trouve dans le namespace Lib, et j'ai essayé d’écrire
$base = new \Lib\Base();
mais toujours j'ai la même erreur
Fatal error: Class 'Lib\Base' not found in C:\wamp\www\MVC2\index.php on line 5
merci d'avance.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 déc. 2012 à 12:50
Tu peux montrer genre plus de code stp ? Parce qu'avec si peu on ne peux strictement rien dire.
0
youyourissani
24 déc. 2012 à 13:15
je travail avec MVC,
j'ai un dossier views contient index.php,
voila le code de index.php :
<?php

$base=new Base();

?>
et j'ai un dossier Lib contient la classe Base.class.php
lorsque j’exécute index.php j'ai un erreur
Fatal error: Class 'base' not found in C:\wamp\www\MVC2\index.php on line 3
et merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 déc. 2012 à 14:27
PHP ne vas pas deviner où se trouve ton fichier et l'ouvrir, c'est à toi de l'inclure tu sais.
0
Utilisateur anonyme
25 déc. 2012 à 23:06
Salut,

Dans la même idée que ce qui a été dit précédemment, tu peux définir tes différentes classes en PHP5 et appeler au final une fonction autoload qui se chargera de tout mettre en mémoire une bonne fois pour toute. C'est une fonction PHP5 qu'il suffit de redéfinir.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
0
Rejoignez-nous