Jan.01

Apprendre Zend Framework 2 sous windows partie 3

Apprendre Zend Framework 2 sous windows partie 3

Dans cette partie de ce tutoriel, on va créer notre module ‘Contact’, les models,les controllers, les forms et les filters, selon notre besoin.

On pourrai créer les modules et les controllers en ligne de commande, dans zend framework2, avec zf2tool, mais les models , les forms et les filters, on va les créer manuellement.

  • 3. Créer le module contact.

a) L’architecture de module Contact.

L’architecture par défaut d’un module dans Zend Framework2 est comme l’écran suivant  ( l’arborescence du module Application ) :

Pour créer un module, ou un controller, dans zf2, à l’aide de zftool , on utilise les commandes suivantes :

Ouvrir la ligne de commande et taper les lignes suivantes :

module-contact1

Ce qui manque, c’est le dossier ‘Model’, et le dossier ‘Form’,ces deux dossiers se trouvent en même niveau que le dossier ‘Controller’.

module-contact-2

Pour ceux qui veulent créer manuellement leurs modules, ils doivent suivre les étapes suivantes :

  1. Ouvrir le dossier module, dans votre installation Zend framework2 .
  2. Créer un dossier, et lui donner comme nom ‘Contact’, avec le 1er caractère en majuscule.
  3. Créer un 3 dossiers ( ‘config’, ‘src’, ‘view’ ).
  4. Dans le dossier ‘src’, vous devez créer un dossier qui a le nom de module, avec le 1er caractère en majuscule.
  5. Dans ce dernier dossier crée, vous devez créer 3 autres dossiers ( ‘Controller’, ‘Form’, ‘Model’ ).
  6. Dans le dossier ‘view’, qui est en même niveau que le dossier ‘src’, vous devez créer un dossier avec le nom de module , mais tout en miniscule, ( dans le dossier view, tous les dossiers, et les fichiers, auront le nom en minuscule )
  7. créer un fichier ‘Module.php’, dans la racine de votre module ‘Contact’.

On doit prévenir Zend framwork2, qu’on a crée un nouveau module, on doit aller au dossier ‘config’ dans la racine de notre projet ‘zf2test’, on édit le fichier ‘zf2test/config/application.config.php’, et on déclare notre module :

application-config

Si vous éditez le fichier index.php de notre application, qui se trouve dans le dossier public ( zf2test/public/index.php ), vous allez voir qu’au moment d’initialisation de l’application, zf2 charge automatiquement le fichier ( zf2test/config/application.config.php ).

L’autoloader de ZF2 fournit ce qui suit :

  1. Autoloading via include_path compatible PSR-0
  2. Autoloading via préfixes ou namespaces compatible PSR-0
  3. Autoloading via class map, incluant un outil de génération de class map
  4. Fabrique (NdT : Factory, un design pattern courant) d’autoloader pour pouvoir gérer plusieurs stratégies d’autoloading à la fois

Afin de charger automatiquement notre module, de la part de zend framework2, ce dernier a un module manager, qui va chercher le fichier ‘Module.php’ qui se trouve à la racine de notre module, et qui va charger plus précisément deux fonctions par defaut (‘getConfig’, et ‘getAutoloaderConfig’ ).

La fonction getConfig, sert à inclure le fichier config de notre module ( Autoloading via include_path ), et qui se trouve dans le dossier ‘config’, qui est lui même se trouve à la racine de notre module.

Ce qui veut dire qu’on doit créer un fichier ‘module.config.php’ dans le dossier ‘config’, en copiant la ligne suivante dans ce fichier :

Ce fichier sert à déclarer les routes, le chemin vers le dossier ‘view’ ,  et d’autres services, je vais parler de ce fichier au moment même, quand on va essayer de l’utiliser, ou le modifier.

Pour la 2eme fonction ‘getAutoloaderConfig’, elle sert a charger Les controllers, les models , et les forms …, via le namespace , qui est dans notre le nom de notre module ( Autoloading via préfixes ou namespaces ) .

On va créer un autre fichier ClassmapAutoloader ‘autoload_classmap.php’ ( Autoloading via classmap ), dans la racine de notre module,en copiant la ligne suivante dans ce fichier :

L’arborescence de notre module devient :

module-contact-architecture

 

c) La base des données zf2test

Tout d’abord, on crée une base des données nomée , ‘zf2test’.

Dans notre application, On a une seule table ( contact ), avec l’outil Phpmyadmin, ou autre de votre choix :

les données exemples de la table contact.

Pour prévenir zf2 , qu’on va utiliser une base des données de nom ‘zf2test’, il faut modifier le fichier ‘global.php’ qui se trouve dans ‘zf2test/config/autoload’, et ce fichier ( global.php ) devient :

b) Le controller ContactController, et ses actions.

Les actions , qu’on va utiliser dans notre controller ‘ContactController’ , sont : ‘indexAction’, ‘ajouterAction’, ‘modifierAction’, et ‘supprimerAction’.

les urls utilisés dans notre application :

Pour résumer, les urls seront composé de cette maniere :

Il faut prévenir zf2, qu’on a crée un controller ‘ContactController’, on fait cette déclaration dans notre fichier config de notre module :

Une petite explication :

  1. Le 1er array ‘controllers’, on invoque les controllers qu’on a crée , et on veut les utiliser dans notre application.
  2. Le 2eme array ‘router’, c’est là où on déclare les routes de notre application, il y’a plusieurs type des routes , pour savoir plus, cliquer ici.
  3. Le 3eme array ‘view_manager’, c’est un array, pour déclarer le chemin vers le dossier ‘view’  de notre module.

La partie 3  de ce tutoriel est terminée,

Continuons vers La partie 4.

 

 

Zend Framework 2
Share this Story:
  • facebook
  • twitter
  • gplus
khalid

About khalid

Leave a comment

Comment