È possibile effettuare una richiesta per una pagina (il controller e l'azione vengono trovati dai percorsi) interni. Si può fare questo ad esempio:
class Controller_Menu extends Controller
{
public function action_index()
{
$this->request->response = view stuff ...
$this->request->response->set('...', ...) // some vars
}
}
e
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
);
}
}
Ogni pagina che haves un menu non devi fare tutta la logica per caricare il menu, ecc (per esempio dai modelli). Basta fare una richiesta al controller, eseguirlo e ottenere il risultato. Molto utile se usato correttamente.
Diresti quindi di utilizzare semplicemente un framework MVC per un sito Web di dimensioni maggiori? –
Le persone dicono che HMVC è più scalabile, ma dipende da come è il tuo sito. Solo perché un sito è di grandi dimensioni non significa che abbia dei widget, o viceversa. –