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

MVC PHP Discussion :

comment écrire mes URLS ?


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur
    Inscrit en
    Juillet 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Juillet 2007
    Messages : 65
    Par défaut comment écrire mes URLS ?
    Bonjour à tous,
    vue l'ampleur de mon projet j'ai opté pour cette structure de dossier ;
    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
    application/
                  modules/
                             module1/
                                        controlles/
                                         views/
                                         forms/
                             module2/
                                        controlles/
                                         views/
                                         forms/
     
     
    public/
             .htaccess
             index.php
    et dans mon bootstrap.php
    j'ai ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->addModuleDirectory(APPLICATION_PATH . 'modules');
    Mon problème se trouve sur la construction de mes liens
    Premier cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo BASE_URL.'module1/nomController/nomAction';?>">lien</a>
    et là j'ai un message du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    An error occurred
    Page not found
    Deuxième cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="<?= $this->url(array('controller'=>'nomController'), 'module', true) ?>">lien</a>
    et là je n'ai accès qu'à mes controllers du dossier modules/default/controllers , au cas ou je tente de mettre une autre valeur que default il me lève une exception du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'Route referentiel is not defined' in D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php:250 Stack trace: #0 D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php(376): Zend_Controller_Router_Rewrite->getRoute('referentiel') #1 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Helper\Url.php(49): Zend_Controller_Router_Rewrite->assemble(Array, 'referentiel', true, true) #2 [internal function]: Zend_View_Helper_Url->url(Array, 'referentiel', true) #3 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Abstract.php(329): call_user_func_array(Array, Array) #4 [internal function]: Zend_View_Abstract->__call('url', Array) #5 D:\vhosts\htdocs\msadmin2si\application\layouts\scripts\layout.phtml(40): Zend_View->url(Array, 'referentiel', true) #6 D:\vhosts\htdocs\msadmin2si\library\Zend\View.php(107): include('D:\vhosts\htdoc...') #7 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Abstract.php(820): Zend_View->_run('D:\vhosts\h in D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php on line 250
    .
    Sur ce je suis un peu coincé comment écrire mes liens

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2007
    Messages : 21
    Par défaut
    Citation Envoyé par cornnery Voir le message
    et là je n'ai accès qu'à mes controllers du dossier modules/default/controllers , au cas ou je tente de mettre une autre valeur que default il me lève une exception du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Uncaught exception 'Zend_Controller_Router_Exception' with message 'Route referentiel is not defined' in D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php:250 Stack trace: #0 D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php(376): Zend_Controller_Router_Rewrite->getRoute('referentiel') #1 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Helper\Url.php(49): Zend_Controller_Router_Rewrite->assemble(Array, 'referentiel', true, true) #2 [internal function]: Zend_View_Helper_Url->url(Array, 'referentiel', true) #3 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Abstract.php(329): call_user_func_array(Array, Array) #4 [internal function]: Zend_View_Abstract->__call('url', Array) #5 D:\vhosts\htdocs\msadmin2si\application\layouts\scripts\layout.phtml(40): Zend_View->url(Array, 'referentiel', true) #6 D:\vhosts\htdocs\msadmin2si\library\Zend\View.php(107): include('D:\vhosts\htdoc...') #7 D:\vhosts\htdocs\msadmin2si\library\Zend\View\Abstract.php(820): Zend_View->_run('D:\vhosts\h in D:\vhosts\htdocs\msadmin2si\library\Zend\Controller\Router\Rewrite.php on line 250
    .
    Sur ce je suis un peu coincé comment écrire mes liens
    Si tu utilises le view Helper url(), les paramètres sont:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url($urlOptions, $name, $reset)
    urlOptions=array("controller"=>"nomControlleur", "module"=>"module1", "action"=>nomAction)
    $name: le nom de la route à utiliser.

    Comme tu ne parles pas de la configuration de ton routeur, je pense que tu l'as laissé par défaut, c'est à dire une seule route, "default".

    J'ai l'impression que dans ton exemple, tu fais passer le nom du module comme nom de la route. Ce qui peut être tout à fait correct, si tu t'es donné la peine de configurer le routeur. Mais si ce n'est pas le cas, il faut bien spécifier le nom du module dans $urlOptions, et laisser "default" (ou null) comme nom de route.

Discussions similaires

  1. [VB.NET] comment écrire du texte avec opengl?
    Par ero_senin dans le forum OpenGL
    Réponses: 2
    Dernier message: 17/01/2005, 13h34
  2. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16
  3. [tomcat]j'ai un probleme avec mes URLs
    Par nouaman dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 27/05/2004, 00h10
  4. Comment écrire explicitement en sortie d'un job OEM ?
    Par zestrellita dans le forum Entreprise Manager
    Réponses: 11
    Dernier message: 11/03/2004, 09h36

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