Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour tout le monde,
je suis passé hier à la nouvelle version de ZF et la, surprise, faut changer le Zend_Loader. Et comme un "problème" n'arrive pas seul, voila que je galère pour migrer vers la nouvelle solution.
mon bootstrap :
<?php //fichiers de config et chargement des classes include 'application/config/paths.php' ; include CONFIG_PATH.'/config.php' ; include ZEND_PATH.'/Loader/Autoloader/Interface.php' ; include ZEND_PATH.'/Loader/Autoloader.php' ; include SYSTEM_COMMUNS_PATH.'/ClassLoader.php' ; set_include_path('.' . PATH_SEPARATOR . LIBS_PATH . PATH_SEPARATOR . get_include_path()); $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->setDefaultAutoloader(array('System_ClassLoader', 'autoload')) ; //récupération du front controller $frontController = Zend_Controller_Front::getInstance(); //configuration de l'application $frontController->registerPlugin(new Plugin_BootstrapConfig() ) ; //vérification de l'identité de l'utilisateur $frontController->registerPlugin(new Plugin_Identity() ) ; //lancement du calcul de l'url avec gestion des erreurs $frontController->dispatch(); ?>
mon loader perso :
class System_ClassLoader { public static function autoload($class ) { //si la classe a déja été chargée, on terminer la méthode if (class_exists($class, false) || interface_exists($class, false) ) return ; //on découpe le nom de la classe $explode = explode('_', $class ) ; $type1 = array_shift($explode ) ; switch($type1 ) { //les classes du framework Zend---------------------------------------------------------------------- case 'Zend' : $classPath = ZEND_PATH . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $explode) . '.php' ; require_once $classPath ; break ; //les classes utilitaires en rapport avec les formulaires case 'Form' : $classPath = FORMS_COMMUNS_PATH . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $explode) . '.php' ; require_once $classPath ; break ; //les classes plugins case 'Plugin' : $classPath = PLUGINS_PATH . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $explode) . '.php' ; require_once $classPath ; break ; } } }
le seul petit soucis, c'est que je me retrouve avec l'erreur suivante :
Fatal error: Class 'Plugin_BootstrapConfig' not found in D:\wamp\www\zend_project\index.php on line 20
J'en déduis que les classes Zend passent bien (vu qu'il n'a pas tilté sur le front controller... mais bon...
une idée ?
merci d'avance !
Dernière modification par Zend_Noob (10-05-2009 19:51:27)
Hors ligne
Si tu veux vraiment passé en 1.8, alors, supprime ta class auotloader et utilise les autoloader namespace et les resources autoloader
tu te complique bien la vie je trouve
Hors ligne
Hum... ca ne m'aide pas énormement, vu justement que je n'arrive pas à faire fonctionner le nouveau système (d'où le topic ouvert), mais bon, on va chercher, je posterai la solution si je trouve comment faire...
Hors ligne
une tite recherche avec mon ami google et hop :
http://julien-pauli.developpez.com/tuto … toloaders/
Si ça peut aider
Hors ligne
Pages: 1