O Zend Framework é difícil. Não foi construído como uma estrutura básica, o conhecimento dos conceitos envolvidos é assumido 1 . Dito isto, o primeiro requisito para o Zend Framework 2.0 é facilitar um pouco:
Facilite a curva de aprendizado
No final de 2009, fizemos uma pesquisa com os usuários da estrutura para determinar o que eles usam, quais ambientes eles usam e quais são suas necessidades. A questão principal, sem exceção, foi a dificuldade de aprender a estrutura. Alguns desses problemas incluem:
- Dificuldade na "primeira hora" com o framework.
- Incerteza sobre os "próximos passos" após o início rápido.
- APIs inconsistentes no próprio código-fonte. Um componente pode usar "plugins", outro "auxiliares" e ainda outro "filtro".
- Incerteza sobre onde existem pontos de extensão e como programar para eles.
- Confusão sobre se eles podem usar o Zend Framework apenas como uma pilha MVC ou como componentes individuais.
Portanto, não é apenas você, é difícil para todos - leia toda a página da wiki, existem algumas coisas que são identificadas como desnecessariamente complexas. Mas, mesmo que o requisito acima seja cumprido, ele ainda não se tornará uma estrutura de nível básico, o que significa que não é uma estrutura que você deve aprender, mas que você deve usar quando entender os conceitos envolvidos.
Como você ainda está aprendendo, seria muito mais valioso criar sua própria arquitetura MVC. O notório post de 2 de Rasmus Lerdorf, " O framework MVC PHP MVC ", fornece um exemplo muito simples e limpo de MVC por meio de PHP processual, sem nenhuma estrutura ou outra biblioteca de terceiros envolvida.
Mas se você realmente deseja aprender com uma estrutura, considere uma micro estrutura em vez de uma completa. O Slim tem uma base de código muito pequena, limpa e completamente testada e deve ser ideal para o aprendizado. Eu não brinquei com nenhum outro micro framework, você deve fazer sua própria pesquisa e decidir qual é o melhor para você.
E para uma introdução rápida e suja ao roteamento, veja minha resposta a esta pergunta . Não é um conceito muito difícil de entender, mas o Zend Framework faz com que pareça muito mais do que realmente é .
1 A melhor descrição que li para o ZF é que é uma estrutura de construção de estruturas , não uma estrutura de aplicativos. É poder bruto e lista extrema de recursos não são adequados para sites pequenos e médios. Infelizmente, não consigo encontrar onde li isso.
2 Leia o aviso na parte superior da postagem do blog.
Atualização, inspirada no comentário de @ Karpie:
Uma estrutura não deveria ser difícil, o objetivo de uma estrutura é facilitar as coisas. É possível que, mesmo com uma compreensão firme dos conceitos envolvidos, o ZF não seja adequado para você.
Existem muitos fatores subjetivos envolvidos na escolha de uma estrutura, e, a menos que qualquer outra estrutura não possua a funcionalidade absolutamente necessária - e não possa escrever por conta própria, você deve evitar o ZF e usar uma estrutura que lhe pareça mais natural.
Se você conhece os conceitos, a estrutura não deve atrapalhar.