Pregunta

Por lo tanto, creo que entiendo el sistema de archivos en cascada en su términos básicos, pero me parece que no puede envolver mi cabeza en torno a la 'estructura H'ierachy de la MVC. Podría alguien decirme las ventajas de utilizar HMVC sobre MVC y su funcionalidad básica prevista?

Gracias por su tiempo!

¿Fue útil?

Solución

HMVC se adapta mejor a widgets. Por ejemplo, un calendario widget podría tener su propio controlador, modelos, y un conjunto de puntos de vista, y puede simplemente llamar a su controlador para hacer una cierta visión desde dentro de la página principal para incrustar el widget.

El énfasis está en elementos de la GUI reutilizables. Ver aquí para lectura adicional: http: // www. javaworld.com/javaworld/jw-07-2000/jw-0721-hmvc.html .

Edit: He aquí un enlace real PHP centrado en: http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/ . Parece tener ilustraciones más agradable también.

Otros consejos

Se puede hacer una petición de una página (controlador y la acción se encuentra por las rutas) interna. Esto se puede hacer, por ejemplo:

class Controller_Menu extends Controller
{
    public function action_index()
    {
        $this->request->response = view stuff ...
        $this->request->response->set('...', ...) // some vars
    }
}

y

class Controller_Home extends Controller
{
    public function action_index()
    {
        $this->request->response = ...; // some view stuff...
        $this->request->response->set('menu', 
            Request::factory('menu')->execute()->response // here happens the magic
        );
    }
}

Cada página que haves un menú no tiene que hacer toda la lógica para cargar el menú, etc. (por ejemplo, a partir de modelos). Usted acaba de hacer una petición al controlador, lo ejecuta, y obtener el resultado. Muy útil cuando se usa correctamente.

La gente en los foros KO3 han descrito la capacidad HMVC como hacer una petición AJAX sin la petición HTTP adicional.

Un caso en el mundo real tal vez si usted quiere construir un sistema que tiene una API como una parte integral de la aplicación. Twitter, por ejemplo. Con HMVC se podría escribir la API en primer lugar, y luego usar que dentro de la aplicación. Esto ahorra ya sea la duplicación de código o una solicitud HTTP adicional.

Por el momento, sin embargo, trabajar de esta manera es bastante limitado, principalmente debido al tipo de solicitudes que se pueden enviar. Aquí es un mensaje del foro que hice hace poco con respecto a esto. Se puede aclarar cómo HMVC podría ser útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top