Estoy siguiendo un tutorial que creo que está escrito por alguien que no sabe lo que hace (ya descubrió 2 errores obvios y el resto del código es complicado). Pero no quiero desacreditar al tipo por completo, así que estoy preguntando sobre algo más que no entiendo.¿Este código es insano?
En primer lugar, voy a enviar 100 puntos brownie, mis 2 mascotas, y una caja de bombones a el que me puede explicar lo que es pasando con este código.
Él está utilizando la arquitectura basada en módulos. El nombre del módulo es frontmodule
. El módulo tiene MVC. Y el módulo tiene un interno library
propio.
/modules/
/frontmodule/
/models/
/views/
/controllers/ -- the /module controller is here (undestandable)
/library/
/Controller/ -- the /module/library controller is here (why?!)
/Action/
Primero viene el confundir parte. Por qué cada módulo tiene una biblioteca interna y por qué esa biblioteca intencional tiene su propia controllers
y actions
. ¿Es esta una mejor práctica? Estoy pensando que esta biblioteca podría moverse a un complemento que el módulo pueda usar. No estoy seguro ..
Ahora viene la parte interesante .... además de que cada módulo tiene su propia biblioteca interna, también hay una biblioteca común compartido por todos los módulos (ver a continuación al mismo nivel de carpetas que /modules
) y que la biblioteca común también tiene sus propios controladores y acciones (al igual que cada uno de bibliotecas internas tienen sus propios controladores y acciones)
/modules
/library/
/Common/
/Controller/ -- the /common/library controller is here (why?!)
/Action/
/Helper/
/Plugin/
por lo que tenemos 3 controladores:
- el módulo controlador
- el controlador de la biblioteca interna del módulo
- el controlador de la biblioteca común
Ahora aquí está la loco parte que creo que es complicar la vida
Él dice: A mo El controlador dule amplía el controlador principal de biblioteca del módulo , que también amplía el controlador de biblioteca común .
class IndexController
extends Frontoffice_Library_Controller_Action_Abstract { ... }
abstract class Frontoffice_Library_Controller_Action_Abstract
extends Custom_Controller_Action_Abstract { ... }
así que supongo:
- el controlador del módulo =
IndexController
- el controlador de la biblioteca interna del módulo =
Frontoffice_Library_Controller_Action_Abstract
- el controlador de la biblioteca común =
Custom_Controller_Action_Abstract
donde module controller
se extiende module internal library's controller
y module internal library's controller
extiende common library's controller
alguien ha visto algo como esto antes? Supongo que este código no será fácil de mantener, pero quizás los que tengan más experiencia con Zend puedan decirme qué es lo que este tipo intenta lograr. La estructura de la aplicación es un poco demasiado desordenada. Creo que está abusando de MVC en lugar de usarlo para simplificar la aplicación y su mantenimiento.
Lol ... Oh, que necesitaba eso. ¡Gracias! –
Él solo quiere hacer su vida más difícil. – netrox
@netrox, mira, no estoy seguro. Quizás hay algo al respecto que no entiendo. Esta es la razón por la que estoy esperando noticias de aquellos con más experiencia en Zend Framework, aunque espero que usted tenga razón, y que es 'sobre-ingeniería' ya que beamrider9 dice – jblue