Symfony est resté pour beaucoup LE framework productif surtout en grande entreprise. Mais les temps changent et il faut faire un choix.
On va voir ici comment ça marche (C'est pas très compliqué surtout pour les utilisateurs de Symfony =P).
En effet, le Zendframework incontesté de tout les programmeurs PHP, sort avec une version plus automatisé.
Comme on peut le voir :
En voyant cette image sur le site http://devzone.zend.com je n'ai eu qu'un mot entête "enfin !" et je vois déjà que bon nombre vont s'amener à utiliser ZendFramework.
Télécharger Zendframework sur le site : http://framework.zend.com/download/latest
Décompressez-le et placez le dans "C:/Zend" (pour Windows) par exemple, ou dans "usr/local/Zend" (pour Unix/Linux).
Ensuite pour Windows, configurez votre variable d'environnement tout comme pour l'exécutable "php.exe" vers le répertoire "C:/Zend".
Sur Unix/Linux, il vous suffira de faire un lien symbolique :
$ ln -s /usr/local/Zend/zf.sh
Sinon ajoutez le chemin de "zf.sh" en variable d'environnement :
PATH=$PATH:/usr/local/Zend export PATH
Un jeu d'enfant ! Pour les utilisateurs de Symfony, la commande est bien familière (zf.bat pour Windows) :
zf.sh create project monProjet
Voilà ce que celà nous à généré :
monProjet |-- application | |-- Bootstrap.php | |-- configs | | `-- application.ini | |-- controllers | | |-- ErrorController.php | | `-- IndexController.php | |-- models | `-- views | |-- helpers | `-- scripts | |-- error | | `-- error.phtml | `-- index | `-- index.phtml |-- library |-- public | `-- index.php `-- tests |-- application | `-- bootstrap.php |-- library | `-- bootstrap.php `-- phpunit.xml
La je dis "Yes ! Plus besoin de faire mon architecture MVC à la main" (pour ceux qui ne veulent pas payer le logiciel Eclipse by Zend ^^).
Avant tout je commence par créer un controller :
# Unix-like systems: % zf.sh create controller monController # DOS/Windows: C:> zf.bat create controller monController
C'est là où ça commence à devenir intéressant. Imaginons que je souhaites créer un action dans ce même controller, mais en plus que je souhaite générer une vue :
# Unix-like systems: % zf.sh create action monController uneaction # DOS/Windows: C:> zf.bat create action monController uneaction
Pas mal non ?
Maintenant passons au Model Mapping...
Zendframework n'a pas d'ORM comme symfony mais offre aux utilisateurs une méthode plus "Codeur", que vous pouvez voir sur cette page : http://framework.zend.com/docs/quickstart/create-a-model-and-database-table
Par contre on attend avec impatience la promesse : "$ zf create model monModel" (Oui sur l'image ça y est mais en réalité non).
Cette avancée que ZendFramework à fait vis-à-vis des consommateurs du produit donne une réelle opportunité au Framework de dépasser son rival. Cependant la génération de Zend reste assez lente et ne permet pas une réutilisation des ressources de manière plus "écologique". En tout cas, je reste indécis quant à l'utilisation d'un Framework pour mes futurs projets bien que je supporte Symfony.
Cette création est mise à disposition sous un contrat Creative Commons