12
2011
Introduction à Zend Framework 2.0
Cela fait un moment que je vous ai parlé de Zend Framework 2.0 en vous disant qu’il allait arriver. Ces derniers jours je me suis demandé où ils en étaient et il faut dire que cette version avance bien.
Pour le moment le framework Zend en version 2.0 n’en est encore qu’au stade de développement (version 2.0dev4 exactement) ce qui la rend impropre à l’utilisation dans un environnement de production mais pas aux différents tests. Nous allons donc voir comment créer un projet basique avec cette version.
Tout d’abord, il faut savoir que ZF2.0 utilise les namespaces introduits dans PHP 5.3 ce qui veut dire que si vous avez un serveur en 5.2.X, vous pouvez passer votre chemin ou bien mettre votre serveur à jour vers la version requise qui se trouve être la version 5.3.1
Voici la liste des nouveautés de cette version :
- Utilisation des namespaces de PHP 5.3
- Suppression des require_once et include_once
- Remplacement des singletons par des classes statiques
- Optimisation des performances
- Ajout d’interfaces derrière chaque classe abstraite
- Réécriture de la partie MVC
Les présentations étant faites, nous pouvons passer à la partie pratique.
Vous trouverez le framework Zend à la dervière versionen date (2.0dev4) sur le GIT officiel du projet à cette adresse.
Ensuite, sachez que pour ces tests, j’utilise un environnement Linux Ubuntu 11.04.
Bien, maintenant que tout est prêt nous allons regarder ce que comporte l’archive de la realease :
- /bin : exécutables pour créer un projet de base => nous allons utiliser ceci dans un premier temps
- /demos : contiens différentes démos des classes => ne nous intéressera pas
- /documentation : contient la doc de ZF 2.0
- /library : contient le framework => très important
- /resources : contient les traductions des validateurs
- /test : contient les tests unitaires du framework
- /working : ?????
Donc pour créer un projet rien de plus simple. Il vous suffit d’aller dans le répertoire bin, de mettre les droits nécéssairessur zf.sh et de lancer la commande suivante :
| Bash | | copy code | | ? |
| 1 | ./zf.sh create project <path vers votre projet> |
Etant dans un environnement de test et voulant faire marcher ce framework, je créer un alias du nom de zf2 pointant vers le dossier public. Je dois donc modifier le fichie /public.htaccess comme suit :
| Apache configuration | | copy code | | ? |
| 1 | RewriteEngine On |
| 2 | RewriteCond %{REQUEST_FILENAME} -s [OR] |
| 3 | RewriteCond %{REQUEST_FILENAME} -l [OR] |
| 4 | RewriteCond %{REQUEST_FILENAME} -d |
| 5 | RewriteRule ^.*$ - [NC,L] |
| 6 | RewriteRule ^.*$ /NOMALIAS/index.php [NC,L] |
| 7 |
Maintenant en me rendant sur l’alias contenant mon projet :http://local/zf2, j’obtiens la page suivante :

En regardant la composition du framework Zend, nous observons qu’il a toujours la même répartition par rapport aux versions précédentes. La seule chose frapante par rapport aux anciennes sont le remplacement du nommage Pear (Nom_Classes) par les namespaces (Nom\Classes). Le IndexController.php en est un bon exemple :
| PHP | | copy code | | ? |
| 01 | <?php |
| 02 | |
| 03 | class IndexController extends \Zend\Controller\Action |
| 04 | { |
| 05 | |
| 06 | public function init() |
| 07 | { |
| 08 | /* Initialize action controller here */ |
| 09 | } |
| 10 | |
| 11 | public function indexAction() |
| 12 | { |
| 13 | // action body |
| 14 | } |
| 15 | } |
Maintenant que nous avons un projet ZF 2.0 prêt à être commencé, nous pouvons faire ce que nous voulons. Par exemple, nous allons créer une nouvelle action du nom de test et affichant seulement un « Essaie d’ajout de l’action test ».
Pour se faire, nous allons juste rajouter la fonction testAction() à L’indexController comme suit :
| PHP | | copy code | | ? |
| 01 | <?php |
| 02 | |
| 03 | class IndexController extends \Zend\Controller\Action |
| 04 | { |
| 05 | |
| 06 | public function init() |
| 07 | { |
| 08 | /* Initialize action controller here */ |
| 09 | } |
| 10 | |
| 11 | public function indexAction() |
| 12 | { |
| 13 | // action body |
| 14 | } |
| 15 | |
| 16 | public function testAction() |
| 17 | { |
| 18 | |
| 19 | } |
| 20 | } |
Puis maintenant nous allons créer notre vue associée : /application/views/scripts/index/test.phtml :
| PHP | | copy code | | ? |
| 1 | <?php echo "Essaie d'ajout de l'action test"; |
Maintenant rendez vous à l’adresse http://local/zf2/index/test et vous devriez avoir la page suivante :
Voilà, maintenant vous savez comment réaliser un projet basic avec le framework Zend 2.0. Je n’ai pas abordé les différents helpers et les différents modules du framework car je n’ai pas encore eu le temps de les tester. Si je tombe sur quelque chose d’intéressant je n’hésiterai pas à le publier sur le blog.
Articles Connexes
5 Commentaires Donnez votre avis
Laisser un commentaire
Catégories
- Actualités (11)
- Android (5)
- Bases de Données (4)
- Développement (1)
- PasteQR (2)
- PHP (8)
- Systèmes et Réseau (5)
- Technologies Web (5)
- Tests (2)
- Zend Framework (30)
Commentaires récents
- (@Fritte7) (@Fritte7) dans PasteQR passe en 1.1.0
- roux dans ZendX Jquery Dialog
- Fritte7 dans Gérer des évènements dans une listview.
- Fierfeu dans Introduction à Zend Framework 2.0
- Christophe B. dans Gérer des évènements dans une listview.
Mots-Clefs
Active Directory AJAX Android Apache2 APC Bootstrap Chrome Configuration CSS Eclipse Firefox Google html HTTP Installation Internet Internet Exporer Java Javascript JQuery JQuery UI Linux Mémoire Mac MySQL Navigateur Opera PDO Pear Phing PHP Safari SGBD SMTP SQL Ubuntu View Helper Windows Server XML Zend Cache Zend DB Zend Form Zend Framework ZendX ZF 2.0
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

Publié par Throrïn





Bonjour,
D’après ton article, il n’y a presque pas de changements pour l’utilisateur, si ce n’est concernant les namespaces. En même temps il s’agit là d’un exemple très simple, pour faute de temps j’imagine.
As-tu par contre eu le temps de regarder un peu les accès aux bases de données ?
Non, Je n’ai pas eu le temps de regarder cette partie, comme tu l’as vu, j’ai fais juste une introduction simple de cette version afin de voir les changements qu’il pouvait y avoir.
ZF 2.0 utilisera Doctrine (tout comme Symfony) pour l’accès à la base de données, ça fait partie des grands changements.
Doctrine ne sera pas inclus nativement dans Zend mais sera optionnel. Tout ce que Zend permettra c’est d’une intégration simplifiée.
Bonjour,
est-ce normal qu’aujourd’hui ds la distrib ZF2, téléchargée comme ds GIT, le répertoire ./bin ne contient plus de zf.sh ou de zf.bin ?