Algunos consejos:
Aquí es un diagrama agradable del proceso de Despacho
http://nethands.de/download/zenddispatch_en.pdf
Es mucho más fácil de entender ZF si tiene experiencia en programación orientada a objetos/POO patrones de diseño
La primera vez que tropecé con ZF tenía poco conocimiento de OOP. ZF me impulsó a aprender OOP, que era algo muy bueno.
Distinguir entre la 'magia' de ZF y la arquitectura real ZF
Aunque tengo una buena comprensión de las clases ZF todavía se confunden cuando ZF añade su 'magia' a la mezcla.
Cuando digo 'magia' Me refiero a cosas como
- los objetos predeterminados carga y se utiliza si no se especifica ninguno, y
- inflexiones url-controllername-ruta de archivo-nombre de archivo/convenciones de nombres.
- asignaciones config-ajustes-a-clase de instancias
ZF es un poco como una grieta de bolsa en el sentido de que el 'Tutoriales' Getting Started te engancha enseguida. Realizan tanta magia que te hace pensar .oO (Guau, ¡qué simple fue eso! ¡Este marco es genial!)
Luego, tan pronto como comienzas a intentar hacer lo tuyo, la magia comienza a ponerse realmente confuso
Entonces, mi táctica es eliminar la mayor cantidad posible de magia ZF. Si tiene la opción de especificar una clase para usar o un enrutador para usar, especifíquelo. No dejes que Zend lo haga por ti.
Entonces, cuando algo extraño sucede, puedes encontrar los errores más fácilmente.
Además, si especifica las ubicaciones de las clases/rutas como (a diferencia de dejar a ZF inflexionar mágicamente las rutas y buscar scripts), entonces no tiene que preocuparse por las preguntas de 'dónde poner esto? ¿Dónde poner eso? - simplemente coloque las cosas donde quiere que estén y explícitamente señale ZF a ellas.
A medida que se familiarice con ZF, puede dejar que se haga cargo y le haga magia. Solo entonces puedes realmente entender por qué esa magia es conveniente.
Como dijo Tim Wardle en otra respuesta, favor de solicitar declaraciones sobre zend loader hasta que realmente lo necesite.
Si usted es una casa de diseño PHP que genera 10 proyectos de sitios web a la semana, entonces ZF Magic puede ser realmente útil. Si está diseñando su primera aplicación ZF, entonces la 'reducción de la complejidad' es un objetivo de diseño más importante que la 'reutilización'.
Examinar el código
Puede parecer obvio, pero una de las mejores maneras de aprender acerca de la ZF es mirar el código.
De nuevo, la magia de ZF puede interferir: a menudo quiero ver los argumentos de un método para descubrir lo que necesito pasar solo para descubrir que espera una "matriz de opciones" ambigua (no precisamente útil). Sin embargo, después de un tiempo, comienzas a notar las convenciones utilizadas en cómo una 'tecla de opción' se combina con un método getter/setter. Por lo tanto, sigue mirando el código y familiarizándote con el 'modo ZF'.
I 'ope that' elps.
Después de escribir mi artículo sobre la magia de ZF, pensé que sería bueno tener algún tipo de componente 'ZF Magic Info' que 'observe' el framework y te permita generar algo como 'phpinfo()' al final para que podamos ver en qué está gwan. - solo un pensamiento –