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 :

Utilisation de Zend_Controller_Router [ZF 1.10]


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Par défaut Utilisation de Zend_Controller_Router
    Bonjour, voila je suis vraiment embêté je suis un débutant sur ZEND et c'est vraiment la galère, voila je cherche a réduire la taille de mes liens car des fois ils sont trop long.
    Il y a plein de tutoriels pour utiliser zend_controller_router mais il n'y a pas assez de détails pour les gens perdu comme moi.

    Quand on lit ce truc http://www.dator.fr/zend-framework-e...ge-specifique/
    ça à l'air simple mais on le met ou son code ?
    dans le controller de la page ?
    dans une nouvelle page qu'il faut créer ?
    et après on fait appelle comment à notre lien pour le mettre dans le href ???
    franchement galère, en plus j'aimerais faire passer 2 variables dans l'url (bon déjà 1 ca serait pas mal) Si quelqu'un peut m'aider merci...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Bonjour tomtom94500,


    Si tu veux faire la même chose que le tutoriel, il faut ajouter ce code dans ton Bootstrap.


    Cordialement,
    Ahmed.

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Par défaut
    bon donc je crée un fichier Bootstrap.php que je place dans /application/Bootstrap.php

    Dedans je colle son code


    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
    <?php
     
    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
    /*
    Ici on prépare la route, on instancie un route avec expression régulière
    qui peut comprendre n'importe quel caractère.
    Ensuite on passe en paramètre un tableau d'option :
          1 correspond au premier paramètre pour eviter de faire id/1213
          controller et action : le controlleur a réécrire et l'action à réécrire
    */
    $route = new Zend_Controller_Router_Route_Regex('produit/(.+)',array(
        1 => 'id',
        'controller' =>'produits',
        'action'     =>'detail')
    );
    // On instancie le controlleur frontal
    $frontController = Zend_Controller_Front::getInstance();
    // On récupère la router basique
    $router = $frontController ->getRouter();
    // On ajouter une route au router en spécifiant un paramètre et la route préparée
    $router ->addRoute('produit',$route);
     
    // On spécifie le dossier des controlleurs
    $frontController->setControllerDirectory('./application/controllers');
    $frontController->dispatch(); // On envoie l'application
    }
    mais après tu fais comment pour t'en servir ... Tu vois bien que je suis perdu help me un petit peu plus stp...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingenieur BI - Dev Web Senior
    Inscrit en
    Décembre 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingenieur BI - Dev Web Senior

    Informations forums :
    Inscription : Décembre 2009
    Messages : 118
    Par défaut
    Ok pas de souci.

    Alors pour commencer je veux:
    1- Avoir un aperçu de la structure des dossiers de ton projet.
    2- La version de ZF tu utilise.
    3- L'URL que tu veux aboutir.

    Cordialement,
    Ahmed.

  5. #5
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Par défaut Merci beaucoup !!!
    donc voila ma strutucture de fichiers/dossiers

    3 dossiers principaux accompagné de 2 fichiers principaux :
    index.php (description de mon fichier en bas)
    .htaccess (description de mon fichier en bas)
    application/
    controllers/
    layouts/
    layout.phtml
    models/
    views/
    scripts/
    merci-de-maider/
    index.phtml
    bootstrap.php
    library/
    Zend/
    public/
    css/
    js/
    images/



    DANS mon fichier index.php
    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
    <?php
    session_start();
     
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors', 0);
    date_default_timezone_set('Europe/Paris');
     
    // mise en place des répertoires et chargement des classes
    set_include_path('.'
        . PATH_SEPARATOR . './library'
        . PATH_SEPARATOR . './application/models/'
        . PATH_SEPARATOR . get_include_path());
    include "Zend/Loader.php";
    Zend_Loader::registerAutoload();
     
     
    // setup controller
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->throwExceptions(true);
    $frontController->setControllerDirectory('./application/controllers');
    Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));
     
     
    // run!
    $frontController->dispatch();


    DANS mon fichier .htaccess
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php
    
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
    
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on



    Bref voila j'utilise la dernière version de ZF la 1.10 (car plus c'est récent mieux c'est)



    CE QUE je veux faire :
    Dans mon layout.phtml je balance un lien comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='".$this->url(array('controller'=>'merci-de-maider','action'=>'index', 'page'=>$destruction, 'id'=>$destruction, 'parrain'=>$destruction))."'>Merci de m'aider</a>";
    Donc voila le truc c'est que j'utilise maximum 3 variables par lien MAXimum !!
    je me suis fixer la variable page, id, et parrain. (bref c'est vraiment artisanal)
    A ces "variables" je leur donne des valeurs vides avec $destruction (histoire que ça ne foute pas la merde partout) et quand j'ai besoin d'utiliser la variable je fais un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $pagehtml="voila-ma-page-pour-google";
    $id_indique="47";
    echo "<a href='".$this->url(array('controller'=>'merci-de-maider','action'=>'index', 'page'=>$pagehtml, 'id'=>$id_indique, 'parrain'=>$destruction))."'>Merci de m'aider</a>";
    donc voila et ça me donne un truc comme ça
    http://localhost/MonProjet/merci-de-...r-google/id/47

    Voila trop long !!!!!!!!!!!!! comment faire ? pour avoir un truc raisonnable et conviviale pour google merci beaucoup j'ai plus batterie j'envoi le message vite

  6. #6
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 34
    Par défaut
    donc voila ma strutucture de fichiers/dossiers

    3 dossiers principaux accompagnés de 2 fichiers principaux :
    index.php (description de mon fichier en bas)
    .htaccess (description de mon fichier en bas)
    application/
    ---controllers/
    ------MerciDeMaiderController.php
    ---layouts/
    ------layout.phtml
    ---models/
    ---views/
    ------scripts/
    ---------merci-de-maider/
    ------------index.phtml
    ---bootstrap.php (que mettre dans ce bidule???)
    library/
    ---Zend/
    public/
    ---css/
    ---js/
    ---images/



    Bref l'objectif est de savoir ce qu'il faut mettre comme truc dans le href pour arriver à une url de ce genre http://localhost/MonProjet/47-voila-ma-page-pour-google

    Et que je puissse bien retrouver mon controller la variable id comme valeur 47 et la page comme valeur voila-ma-page-pour-google

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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