Puede hacer una solicitud de una página (el 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). Simplemente haga una solicitud al controlador, ejecútelo y obtenga el resultado. Muy útil cuando se usa correctamente.
¿Entonces argumentarías que simplemente debes usar un MVC-framework para un sitio web de mayor escala? –
La gente dice que HMVC es más escalable, pero depende de cómo sea su sitio. El hecho de que un sitio sea a gran escala no significa que tenga widgets, o viceversa. –