Tutorial : Créer une application avec le Zend Framework #4 Explications sur les contrôleurs et sur le Routing



Documents pareils
RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Découvrir le CMS. et l utiliser dans une approche pro!

STAGE2 STAGIAIRE / NIKOLAOS TSOLAKIS. 16/02/2015 : choix des outils nécessités pour l application : Didier Kolb, le maitre de stage

Devenez un véritable développeur web en 3 mois!

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Développeur - Conseiller - Formateur web

Webmaster / Webdesigner / Wordpress

Notre processus d embauche

Nouveautés joomla 3 1/14

les techniques d'extraction, les formulaires et intégration dans un site WEB

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Rapport de stage Clément MOYSAN

Léa Dumas Développeuse front-end Intégratrice //

Loïc Rossignol Ingénieur Consultant

Sommaire. Préface 1 : Pourquoi choisir Magento? Chapitre 1 : Magento, quésaco? Chapitre 2 : Quoi sous le capot?

Dopez votre site Joomla! Les meilleures extensions pour les versions 2.5 et 3.0

Karim EL KHALIFA Web developer

Google Tag Manager. «Vous ne verrez plus l'analytics de la même manière» par Ronan CHARDONNEAU

Les différents parcours en S4

Blogging et sites de contenu. Comment créer un site de contenu et l'animer

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

Table des matières. Première partie Découvrir, installer et apprivoiser WordPress

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Formation Découverte du Web

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Questionnaire GTA - Analyse des re ponses

Yannick Dalbin Développeur Freelance 616 Chemin Du Vallon Des Gavots Aubagne

Paul FLYE SAINTE MARIE

Un tracker caché dans Ghostery!

Jérémy Bérenger. Résumé. Expérience. Web Designer - Intégrateur Web jeremy.berenger@gmail.com

Formation Créateur de site web e-commerce Certifiant

Formation Communiquer et être vu sur Internet - Webcomm

Agence Web innovatrice

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

novatis Agence Web innovatrice

SCOOP IT. Isabelle Vayssié Collège St Geours de Maremne. Crédit images scoop it

Réussir son référencement

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

WordPress, thèmes et plugins : mode d'emploi

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

CATALOGUE DES FORMATIONS LANGUES

CONFÉRENCE WEB 2.0. UPDATE ASBL Michaël Barchy 23 janvier 2013

Du point de vue des entreprises, faut-il privilégier les Frameworks PHP aux CMS Open pour la création de sites internet?

Introduction. e-communication et e-réputation

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Joomla! Création et administration d'un site web - Version numérique

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

Présentation du Framework BootstrapTwitter

CAHIER DES CHARGES DE LOGO-WORLD.NET

WordPress : principes et fonctionnement

Utiliser un CMS: Wordpress

Nos webmasters, web designers et ingénieurs de développement vous accompagnent dans vos projets afin de vous apporter entière satisfaction.

Demagis Interactive, la nouvelle société hybride

Les outils de création de sites web

Comment utiliser les Réseaux Sociaux à des fins de conservation

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

Davi Trénou. Analyste/Développeur. Concepteur web. Consultant SAP Logan, H2K2B4 Montréal, QC, CA.

Intro: WordPress SEO Version Française

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

CATALOGUE FORMATION 2015

CaDeVousAMoi. Cas d école e-réputation. Votre interlocuteur : CHRISTOPHE THIL

Note d intention Agence : KRONOS DIGITAL

proximite + qualite + competitivite

Projet en nouvelles technologies de l information et de la communication

Bureautique Initiation Excel-Powerpoint

En suivant l'initiative d'amanda Wagener sur iwanttolearnruby.com, j'ai créé et anime jeveuxapprendreruby.fr.

Savoir- Faire Offres mé1ers Offres technologiques

Comment mettre en ligne un site WordPress local

Point sur les solutions de développement d apps pour les périphériques mobiles

Ingénieur d étude Web & Lead testeur QA

CAHIER DES CHARGES SITE WEB : Steve Mind Magicien Close-up & Mentaliste - 1 -

Notre vision, Votre croissance

Je suis très dynamique et extrêmement motivé car j'aime beaucoup acquérir de nouvelles connaissances et

INGÉNIEUR - DÉVELOPPEUR SENIOR PHP. 28 ans - 8 ans d'expérience

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Un serveur FTP en 5 minutes chrono. Home Nagios & Co Réseau IP GStreamer Hébergement Mes projets Annonceurs Contact

Créé ton Blog en 30 Jours. --> Coût total du blog: 0

Programmation Web. Madalina Croitoru IUT Montpellier

Madame, Monsieur, PJ. 1 - Programme de formation 2 - Fiche d'inscription 3 - Présentation de Olivier GOBET

Chef de Projet Web. Expériences. Compétences. Diplômes. Formations. Communication. Informatique

Web & Libre. Outils pour être présent sur le net librement

Programme CREATION SITE INTERNET (CMS Wordpress)

Le stockage local de données en HTML5

Transcription:

Ziki Twitter LinkedIn FaceBook Accueil Dator Blog développement & life Ajax, Blog, Collaboration, CSS2, Découverte, Electro, Framework, Fun, Gadget, Hébergement, Javascript, PHP, Playlist, Référencement, Site Web, Vidéos, Web 2.0, Webdesign, xhtml Tutorial : Créer une application avec le Zend Framework #4 Explications sur les contrôleurs et sur le Routing 20 juil Par Clément dans Tutoriels Mots-clefs :Controller, Routing, Ruby, Ruby on Rails, Watchmydesk, Zend, Zend Framework, Zend_Controller_Action, Zend_Controller_Router Acronis True Image 2011 Logiciel backup pour particuliers. Dernière version est disponible! www.acronis.fr 1 of 11 12/08/2010 11:14 AM

Dans cet épisode, nous allons voir les conventions de nommage des contrôleurs et leur utilisation au sein du Zend Framework. Nous allons ensuite nous attaquer au routing, ce concept qui permet de dirigé notre application à partir de simple commande en PHP. Plan de l épisode #3 1. 2. 3. 4. 5. 6. Explications et conventions sur les contrôleurs. Conventions des contrôleurs. Les contrôleurs et les aide d action (Action Helpers). Explication sur le Routing avec le Zend Framework. Conclusion. Notes. Explications et conventions sur les contrôleurs Un contrôleur est celui qui reçoit les évènements utilisateur de la vue et ordonne les éventuelles modifications au modèle. C est aussi celui qui va chercher les résultats à partir des modèles. Avec le Zend Framework, la création de contrôleur est très simple, mais il faut se souvenir de quelques points : Un contrôleur est une classe qui étends de Zend_Controller_Action. Cette classe est nommée Controller ( étant le nom du contrôleur). Un contrôleur possède des actions nommées suivant la convention Action ( étant le nom de mon action. De ce faite, nous aurons un contrôleur qui ressemblera à cela : class IndexController extends Zend_Controller_Action{ public function indexaction(){ } } Simple non? 2 of 11 12/08/2010 11:14 AM

De plus le contrôleur permet d envoyer des variables à la vue. Pour envoyer une variable à la vue, il vous suffit de vous mettre dans une action et ajouter votre code comme cela : $this->view->mavariable = $lavarenvoyealavue; Pour récupérer cette variable dans la vue correspondante à l action du contrôleur demandé, il vous suffit de faire comme cela : echo $this->mavariable; Encore très simple! Les contrôleurs et les aide d action (Action Helpers) Le Zend Framework possède dans ses sources des fichiers php nommés Action Helpers, qui vont permettre d effectuer des actions souvent recherchés par les développeurs et très souvent utilisés. Ce sont donc des aides rapide qui permettent d accéder à des composants du framework directement à partir d une action dans le contrôleur. Bien évidemment, vous pouvez créer vos propres action helpers. Nous allons prendre pour exemple un helper très connu des développeurs des framework, qui à été tiré du célèbre framework Ruby RubyOnRails : le FlashMessenger! Ce composant permet de montrer un message à votre utilisateur suite à une action effectuée. Pour appeler un helper dans une action, on utilise cela : // Ici, FlashMessenger est le nom du helper. $this->_helper->gethelper('flashmessenger'); Pour utiliser le helper FlashMessenger, il vous suffit de faire cela : $this->_helper->gethelper('flashmessenger')->addmessage("ici mon message pour les utilisateurs"); // Et pour envoyer les messages à la vue : $this->view->messages = $this->_helper->gethelper('flashmessenger')->getmessages(); Ce helper permet d ajouter des messages dans un tableau et est détruit à chaque chargement de page. Ce qui permet d envoyer plusieurs messages à un utilisateur sans problème! Explication et utilisation sur le Routing avec le Zend Framework Le routing permet de définir un URL différente pour un contrôleur, un module et une action donnée. 3 of 11 12/08/2010 11:14 AM

Un exemple vaut toujours mieux qu un long discours : Imaginons, nous avons un contrôleur users et une action register, nous aurons une url de ce genre pour accéder à la page voulue : http://monsite.com/users /register, ce qui n ai pas vraiment optimisé pour le référencement. On va donc créer une route qui va permettre de diriger notre contrôleur et action vers la page : http://monsite.com/register pour le référencement. Pour cela nous allons nous rendre dans notre bootstrap, et allons ajouter cette méthode dans notre classe : protected function _initroutes() { $routeur = Zend_Controller_Front::getInstance()->getRouter(); $routeur->addroute('register', new Zend_Controller_Router_Route_Static('register', array( 'module' => 'frontend', 'controller' => 'users', 'action' =>'register')) ); } return $routeur; De cette fâçon, nous allons pouvoir changer les adresses de nos actions simplement grâce au routing. Conclusion Dans cet épisode, nous avons vu comment il est simple, avec le Zend Framework, de gérer les routes et de créer des contrôleur. Je vous rappel que vous pouvez me suggérer des articles ou des vidéos sur la page de suggestion. Le prochain épisode ne sera malheureusement pas publié lundi prochain pour cause de vacances! Le retour de la série est donc prévu pour le 3 août! Notes Encore désolé, mais cet article à été écrit a 2h du matin le samedi matin (vendredi soir) et je pars en vacances le samedi matin à 10h, il est donc un peu plus court que les autres! Retrouvez la version pour Symfony sur LaFermeDuWeb 4 of 11 12/08/2010 11:14 AM

Vous avez aimé cet article? 0 tweet Partager sur Facebook «Vacances Tutorial : Créer une application avec le Zend Framework #5 Le layout, les vues et les helpers» Regarder la vidéo Publicité buzzing Je vous recommande aussi la lecture des sujets suivants Tutorial : Créer une application avec le Zend Framework #7 Intégration du design de WatchMyDesk Tutorial : Créer une application avec le Zend Framework #3 Création des modèles et explication du MVC Tutorial : Créer une application avec le Zend Framework #2 Préparation de la base de données Tutorial : Créer une application avec le Zend Framework #8 Le formulaire d inscription de WatchMyDesk Tutorial : Créer une application avec le Zend Framework #6 L internationalisation Aucun trackback 7 commentaires 1. mi@ge 20 juillet 2009 à 13:12 1 La partie 4 de cette comparaison entre les deux applications n est pas très équitable, non? Sur la ferme du web les notions de debug, de multimodules, et de routing. Ici on ne parle que du routing et de la notion de viewhelper qui n est pas 5 of 11 12/08/2010 11:14 AM

abordée sur la ferme du web. 2. DJo 20 juillet 2009 à 17:36 2 @mi@ge: En effet, on était parti sur les contrôleurs / actions au début. Moi j ai un peu dérivé avec la toolbar de debug. Le comparatif sera fait avec le prochain, les deux frameworks ne sont pas les même, mais on fera plus synchro la prochaine 3. Telia 2 août 2009 à 10:59 3 Dans vos articles, pourriez-vous faire attention à l infinitif? Un truc ; pour savoir quand il faut dire «de gérer les routes» avec [er] pour le mot gérer ; remplacer le mot par «prendre» ou «courir». Avec ce moyen vous ne raterez plus vos infinitifs! ) 4. ziclo 20 novembre 2009 à 17:32 4 Bonsoir, J ai essayé le routing, je n arrive pas à le faire fonctionner. J ai suivi le tutoriel en indiquant une route dans le bootstrap directement et en utilisant un fichier de routes «routes.ini» mais cela ne change rien. Y a t il un ou des parametres essentiels à configurer pour activer le routing? Sur apache, le module rewrite est actif. Je ne vois pas ce qui bloque. Avez vous des idées, points evidents par lesquels vous etes passés avant de faire faire fonctionner le routing? 6 of 11 12/08/2010 11:14 AM

Merci 5. Clément 21 novembre 2009 à 17:42 5 @ziclo: Non rien avant de faire fonctionner, j ai télécharger MAMP et j ai lancer l application mod_rewrite étant installé je ne vois pas. Peux tu me montrer ton code? Merci:) @Telia: Yep! Désolé 6. ziclo 23 novembre 2009 à 10:11 6 Merci quand même. Encore une question : Je cherche à router l url : «basepath/index/cabinet» vers «basepath/cabinet». Zend indiquant «index» à chaque fois, chose que je veux éviter. Les codes de mon «boostrap» et du «routes.ini» sont les suivants : /*BOOTSTRAP*/ protected function _initrouter(){ /*$this->bootstrap( frontcontroller ); $front = $this->getresource( frontcontroller ); $router = $front->getrouter();*/ $router = new Zend_Controller_Router_Rewrite(); $router->addconfig(new Zend_Config_Ini(APPLICATION_PATH. /configs /routes.ini, routes ), routes ); /*return $router;*/ } /*routes.ini*/ [routes] routes.index.type = «Zend_Controller_Router_Route_Static» routes.index.route = «allelouia» routes.index.defaults.controller = «index» routes.index.defaults.action = «about» 7 of 11 12/08/2010 11:14 AM

Avec ce code ça ne fonctionne pas. Une idée? 7. Ariden 5 septembre 2010 à 19:07 7 Bonjour, c est dommage de ne pas avoir préciser que pour le helper on pouvait récupérer la valeur $this->view->messages via $this->messages[n-1] dans la vue. Merci pour ce tuto Laisser un commentaire Nom (obligatoire) E-mail (ne sera pas publié) obligatoire, Vous voulez un avatar? Créez vous un compte sur Gravatar Site Web Ajouter du code dans votre commentaire? Rendez-vous sur Pastie.com. Notify me of followup comments via e-mail 8 of 11 12/08/2010 11:14 AM

Votre adresse email S'abonner Devenir Fan de Dator.fr Dator sur Facebook J aime 299 Dator.fr sur Facebook Nuage de tags Adobe AIR Ajax Blog CMS Concours CSS CSS2 Drupal Découverte Electro Facebook Firefox Flex Framework Fun Google HTML Internet Explorer Javascript jquery Lightbox Mootools Orienté Objet PHP Plugin Plugins Prototype Reseaux Sociaux Safari Screencasts Scriptaculous Site Web SQL Symfony Tutoriel Twitter Vidéos Watchmydesk Web 2.0 Wordpress xhtml XML Zend Zend Framework Sponsors Télécharger gratuitement les articles de PHP Solutions Veille 9 of 11 12/08/2010 11:14 AM

Une erreur est survenue ; le flux est probablement indisponible. Veuillez réessayer plus tard. Blogoliste Vincent est au jardin Blogs Amis Balbou Blog Damien Alexandre LyRix Blog MickDez Startupz Steaw Victor Nicollet Vincent est au jardin Wiip Derniers Posts Blog au ralenti Générer automatiquement des URLs avec Pathauto et Token [Coup de Pouce] Mon adresse Change, un service très utile quand on déménage Drupal ou Joomla! : lequel correspond le mieux à vos besoins? Résultat du concours de Noël avec le Bundle Weecast! Projet tutoré: Drupal Stone Concours - Un méga bundle de Noël offert par Weecast Afficher un élément HTML selon la position du scroll de la page avec jquery Le résultat du concours pour les invitations Google Wave Je serais au forum PHP 2009 - La conférence des développeurs PHP & MySQL Derniers Commentaires 10 of 11 12/08/2010 11:14 AM

Elodie: Bonjour, Super vidéo, ca m'a permis de Dichama: Bonjour, Merci pour ce code qui Dominique: Bonjour, Le lien http://roundcorners.avinoam.info/ ne fonctionne pas ou noki: Salut et merci pour ce code, petite 17h13r: Pour la vérification du mot de benoit: bonjour clément, j'ai le meme probleme Thomas B: Merci pour ce comparatif! La aiglefin: Slt les gars. j'ai pu trouvé aiglefin: Après plusieurs recherches, ce tutoriel est Julien Vernet: Dommage que l'exemple ne fonctionne pas Les meilleurs sujets Concours : Gagnez 25 invitations Google Wave sur Dator.fr! (203) Tutorial : Créer une application avec le Zend Framework #1 Préparation de l environnement de WatchMyDesk (87) Concours Un méga bundle de Noël offert par Weecast (55) Tutorial : Créer une application avec le Zend Framework #3 Création des modèles et explication du MVC (40) Tutorial : Créer une application avec le Zend Framework #7 Intégration du design de WatchMyDesk (36) Tutorial : Créer une application avec le Zend Framework #6 L internationalisation (33) Tutorial : Créer une application avec le Zend Framework #8 Le formulaire d inscription de WatchMyDesk (33) Une pagination en Ajax (32) Votre choix compte pour le mois de screencast sur Zend! A vous la parole! (29) Comment mettre en place le Initializer du Zend Framework 1.7 (Db et Routes) (28) Propulsé par WordPress 11 of 11 12/08/2010 11:14 AM