IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Plusieurs contrôleurs, Multi Controller


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Par défaut Plusieurs contrôleurs, Multi Controller
    Bonjour à tous :
    J’ai un petit souci à propos de MVC Zend. En effet, j’utilisais un unique contrôleur frontal indexController dans mon application et cette fois-ci, il s’avère insuffisant (pour des raisons de clarté et facilité de maintenance). J’ai voulu passer au multi-controller.

    Mais le problème c’est qu’avec la logique du Zend_Controller_Front que j’utilisais, je dois créer un nouveau fichier portant le même nom que le contrôleur sous peine d’un 404… En bref, autant de fichiers que des contrôleurs. Pire encore, chacun de ce fichier devrait répéter un même code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //…include path, etc…
        $frontal = Zend_Controller_Front::getInstance();
        $frontal->setControllerDirectory('./application/controllers');
            Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));
        $frontal->dispatch();
    Y a-t-il d’alternative ? C’est un problème du fameux bootStrap ? y a-t-il une possibilité de configurer cela uniquement via un seul fichier index.php (par exemple) ? Je dirai comme en ASP. NET

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Oui c'est possible
    mon index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    <?
    	set_include_path('.'
    	. PATH_SEPARATOR . '../application/models/'
    	. PATH_SEPARATOR . '../application/views/scripts/'
    	. PATH_SEPARATOR . get_include_path());
     
    	require_once 'Zend/Loader/Autoloader.php'; 
    	Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
     
     
    		// load configuration
    		$config_db_access = new Zend_Config_Ini('../application/config.ini', 'db_access');
    		$registry = Zend_Registry::getInstance();
    		$registry->set('config_db_access', $config_db_access);
     
    		// setup database
    		$db = Zend_Db::factory($config_db_access->db->adapter, $config_db_access->db->config->toArray());
    		Zend_Db_Table::setDefaultAdapter($db);
    		$registry->set('dbAdapter', $db);
     
    		// Setup controller
    		$controller = Zend_Controller_Front::getInstance();		
    		$controller->setControllerDirectory('../application/controllers');
    		$controller->throwExceptions(true); 
    		//$controller->registerPlugin(new MyPluginAuth($acl));
     
    	try
    	{	
    		$controller->dispatch();
     
    	}
    	 catch (Exception $exception) 
    	{ 
     
    		//ANALYSE DE LA PROVENANCE DE L'ERREUR
    		if($exception instanceof Zend_Controller_Exception)
    	    {
    	            $httpCode = 'Erreur 404';
    	            $errorMessage = 'Page introuvable';
    	    }
    	    elseif($exception instanceof Zend_Db_Exception)
    	    {
    	       		$httpCode = "Erreur d'acc&egrave;s &agrave; la base de donn&eacute;es";
    		       	//$errorMessage = $exception->getMessage();                        
    	    }
    	    elseif($exception instanceof Zftemplate_User_Exception)
    	    {
    	    	   	$httpCode = 'Erreur inconnue';
    	       		$errorMessage = 'Vous avez commis une erreur !';            
    	    }
    	    elseif($exception instanceof Zftemplate_Cache_Exception)
    	    {
    	       		$httpCode = 'Erreur inconnue';
    	       		$errorMessage = 'Erreur de cache';        
    	    }
    	    else
    	    {
    	       		$httpCode = 'Erreur 503';
    	       		$errorMessage = 'Erreur de traitement dans la base de donn&eacute;ees';       		
    		}
     
    		require_once 'errors/error.phtml'; 		
    	}

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Par défaut Résolu
    Merci m4riachi pour votre réponse! cette index ne diffère pas du mien du point de vue de la configuration du contrôleur frontal!



    Mais enfin, le problème c'était du côté Apache, il me fallait créer un Virtual Host, ca ne marche pas avec simple Alias, bizarre!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [@MVC] Appeler plusieurs contrôleurs pour 1 page?
    Par k o D dans le forum Spring Web
    Réponses: 0
    Dernier message: 09/09/2010, 10h26
  2. Problème multi controles dans une page..
    Par ehochedez dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/08/2010, 10h46
  3. [ZF 1.7] Utiliser plusieurs contrôleurs
    Par throrin19 dans le forum MVC
    Réponses: 1
    Dernier message: 11/06/2009, 12h02
  4. Formulaire en plusieurs parties ? (avec controle des erreurs)
    Par fabseven dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 04/04/2008, 16h23
  5. Plusieurs Input avec controle numérique !
    Par Joe Le Mort dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/11/2006, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo