Comment bien démarrer un projet Zend Framework grâce aux Zend_Tool

Cet article est une mise à jour du tutoriel sur l’outil Zend_Tool. Donc depuis quelque temps dans le Zend Framework, il y a de nouvelles fonctionnalités. Mais pour bien faire les choses, on va reprendre Zend_Tool depuis le début.

Qu’est-ce que Zend_Tool ?

Zend Tool est un outils qui s’utilise en ligne de commande (depuis une console) et qui permet de mettre en place la structure de son projet, d’ajouter des controllers, actions, vues, modules… D’après la roadmap de Zend, cet outils à pour objectif de devenir très puissant.

Introduction

Alors il va falloir commencer par télécharger le Zend Framework. On l’extrait, chez moi c’est dans le répertoire : « /home/lyrix/prog/php/Lib/Zend_librairie/ZendFramework-1.10.2/ ». On va donc créer un alias pour nous faciliter la vie.  Si vous avez la chance d’être sur un système linux (ou mac) une ligne de commande suffit :

alias zf="/home/lyrix/prog/php/Lib/Zend_librairie/ZendFramework-1.10.2/bin/zf.sh"

Vous pouvez aussi ajouter cette commande a votre fichier de configuration du bash (~/.bashrc), pour que l’alias soit toujours actif.
On va ensuite aller dans le dossier où l’on veut que notre projet soit crée.

cd /home/lyrix/prog/php/2010/

On nommera ce projet « zftuto ».
Création de projet avec Zend_Tool
on commence par créer notre projet :

zf create project ./zftuto/ zftuto

./zftuto/ représente le PATH de la racine de l’application.
zftuto représente le nom de l’application.
Il faut maintenant se déplacer dans le dossier contenant l’application.

cd zftuto/

Base de donnée

Zend_Tool peut se connecter à une base de donnée, pour ensuite nous créer les classes métiers représentant les tables de notre bases de données (ORM). On commence par configurer notre application pour qu’elle se connecte à la BDD. Puis ensuite on génère nos classes :

zf configure db-adapter "adapter=pdo_mysql&username=ecommerce&password=ecommerce&dbname=ecommerce"
zf create db-table.fromdatabase

Le nom des variables est assez explicite pour que je ne les détail pas.

Layout

On peut maintenant activer la gestion d’un layout depuis zend tool.

zf enable layout

Formulaire

On peut créer un formulaire en ligne de commande :

zf create form UserCU

Model

Pour créer un nouveau model (ou classe métier) :

zf create model TestModel

Controller, Action, Vue :

Et bien sur on peut toujours ajouter un controller (avec la vue associé) ;  une action (avec la vue associé) ; ou seulement une vue

zf create controller Users
zf create action read Users
zf create view read2 Users

Module :

On peut aussi créer des modules :

zf create module Moduletest

Aide :

Pour de l’aide, vous pouvez directement depuis votre console exécuter la commande suivante :

zf ?

Conclusion

Si on fait attention, le nommage des classes a changé. Il y a maintenant un namespace « application ». Ce qui a mon goût est plus propre, et anticipe peut être les changements qu’il va y avoir avec php 5.3 puis php 6

Articles en rapport:

12 thoughts on “Comment bien démarrer un projet Zend Framework grâce aux Zend_Tool

  1. Merci ;) Du coup grâce a Zend_Tool, je n’utilise plus Zend Studio. Je suis complétement passer a NetBeans pour le Php, mon amour d’enfance lol (pour le java a l’époque, le J2EE maintenant)

  2. je voudrais savoir une chose.
    lorsqu’on utilise zend_tool pour créer par exemple un controller appartenant à un module, on écrit :
     » zf create controller mon_controller 1 mon_module  »
    que signifier le 1 dans la commande. Je le vois aussi dans l’aide de commande lorsqu’on tape zf ?

  3. Salut ! Sympa ta section Zend Framework, je viendrai y faire des tours parfois, ça fait toujours plaisir de voir des gens qui Zend :D

    Bonne continuation !

  4. Merci mon dieu pour ce site, enfin quelqu’un que je comprend et qui ne truffe pas son code de fautes.
    Zend va devenir un plaisir maintenant. Et ce zend tool c’est carrément de la boulette ultime !!!!

  5. très cool la présentation; je vais continuer à l’utiliser en attendant de résoudre le problème qui m’oppose à netbeans 6.9 concernant l’intégration de zend framework dans leur IDE; car il faut avouer que je m’imagine difficillement passer en ligne de commande chaque fois que j’aurais à developper un projet zend ; je kiffe le mode geek mais il faut rester raisonnable

  6. Bonjour,

    Je sèche un peu sur la partie Base de données : au lancement de la 2ème commande (« zf create db-table.fromdatabase »), j’ai l’erreur suivante :
    PHP Fatal error : Cannot redeclare class Zend_Loader in….

    Quelqu’un a une idée ?

    Merci d’avance pour votre aide,
    Ben.