Sie können intern eine Anfrage für eine Seite (Controller und Aktion wird von den Routen gefunden) durchführen. Sie können beispielsweise Folgendes tun:
class Controller_Menu extends Controller
{
public function action_index()
{
$this->request->response = view stuff ...
$this->request->response->set('...', ...) // some vars
}
}
und
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
);
}
}
Jede Seite, die ein Menü haves nicht die gesamte Logik zu tun haben, um das Menü usw. (zum Beispiel von Modellen) zu laden. Sie stellen lediglich eine Anfrage an den Controller, führen sie aus und erhalten das Ergebnis. Sehr nützlich bei richtiger Anwendung.
Würdest du dann argumentieren, einfach ein MVC-Framework für eine größere Website zu verwenden? –
Die Leute sagen, dass HMVC ist skalierbarer, aber es hängt davon ab, wie Ihre Website ist. Nur weil eine Website groß ist, heißt das nicht, dass sie Widgets hat oder umgekehrt. –