Zend Framework est difficile. Il ne s’agissait pas d’un cadre d’entrée de gamme, mais d’une connaissance des concepts en jeu 1 . Cela dit, la première exigence de Zend Framework 2.0 est de simplifier un peu les choses:
Facilite l'apprentissage
Fin 2009, nous avons mené une enquête auprès des utilisateurs du framework pour déterminer ce qu'ils utilisaient, quels environnements ils utilisaient et quels étaient leurs besoins. Le principal problème, sans exception, était la difficulté d'apprendre le cadre. Certaines de ces questions incluent:
- Difficulté dans la "première heure" avec le cadre.
- Incertitude sur les "prochaines étapes" après le démarrage rapide.
- API incohérentes dans le code source lui-même. Un composant peut utiliser des "plugins", un autre "assistants" et un autre "filtres".
- Incertitude sur l'emplacement des points d'extension et sur la manière de les programmer.
- Confusion sur le fait de savoir s'ils peuvent utiliser Zend Framework uniquement en tant que pile MVC ou en tant que composants individuels.
Donc, ce n'est pas juste vous, c'est difficile pour tout le monde - lisez l'intégralité de la page du wiki, il y a pas mal de choses identifiées comme étant inutilement complexes. Mais même si la condition ci-dessus est remplie, elle ne deviendra tout de même pas un cadre de base, ce qui signifie que ce n'est pas un cadre sur lequel vous devriez apprendre, mais que vous devriez utiliser lorsque vous avez compris les concepts en question.
Puisque vous êtes encore en train d'apprendre, il serait beaucoup plus utile de construire votre propre architecture MVC. Le blog 2 notoire de Rasmus Lerdorf " Le framework sans cadre PHP pour MVC " donne un exemple très simple et clair de MVC via PHP procédural, sans aucune structure ni autre bibliothèque tierce impliquée.
Mais si vous voulez vraiment apprendre avec un cadre, vous devriez envisager un micro-cadre plutôt qu'un complet. Slim a une base de code très petite, propre et minutieusement testée, idéale pour apprendre. Je n'ai pas joué avec un autre micro-cadre, vous devriez faire vos propres recherches et décider lequel est le mieux pour vous.
Et pour une introduction rapide et sale au routage, voir ma réponse à cette question . Ce n'est pas un concept très difficile à comprendre, mais Zend Framework lui donne l'air de beaucoup plus qu'il ne l'est réellement .
1 La meilleure description que j'ai lue pour ZF est que c'est un framework de construction de framework , pas un framework d'application. Sa puissance brute et sa liste extrême de fonctionnalités ne conviennent pas aux sites Web de petite à moyenne taille. Malheureusement, je ne trouve pas vraiment où j'ai lu ça.
2 Lisez l'avertissement en haut de l'article.
Update, inspiré par le commentaire de @ Karpie:
Un cadre n'est pas censé être difficile, son objectif est de faciliter les choses. Il est possible que même avec une bonne compréhension des concepts en jeu, ZF ne vous convienne pas.
De nombreux facteurs subjectifs entrent en jeu lors du choix d'un framework, et à moins que tous les frameworks manquent des fonctionnalités dont vous avez absolument besoin - et ne peuvent pas écrire vous-même, vous devez éviter ZF et utiliser un framework plus naturel.
Si vous connaissez les concepts, le cadre ne devrait pas vous gêner.