In un'applicazione MVC, l'integrazione tra controller e viste è spesso una questione di:
class HelloController {
public function sayHello(Request $request) {
return new Response($this->templating->render('view', [
'name' => $request->get('name')
]);
}
}
Tuttavia, ci sono molti framework là fuori che spesso eseguono integrazioni "trasparenti" della vista con la logica del controller. Ad esempio, consentono l'accesso diretto al token CSRF semplicemente scrivendo {{ csrftoken() }}
o simile nella vista; questo accade in modo completamente trasparente.
Tuttavia, dal momento che non utilizzo alcun framework, sono costretto a fare qualcosa di simile per la maggior parte dei controller:
$this->templating->render('view', [
'name' => $request->get('name'),
'csrf_token' => $this->getCsrfToken()
])
Come posso eseguire un'integrazione così trasparente dello stato del controller come fa la maggior parte dei framework moderni?