Molto spesso nelle applicazioni web si utilizzano diversi tipi di output, dal classico html al json, xml, css, js ecc. Ogni volta che si deve restituire un output, generato da un determinato input, ci si deve sempre preoccupare degli stessi problemi: validazione, sicurezza, permessi ecc, questo tipo di controlli vanno fatti anche quando dobbiamo restituire dei dati in formato json o xml. Nello spirito del riutilizzo, una scelta saggia, consiste nello sviluppare un modulo che avendo il risultato lo instradi verso un tipo di visualizzatore, il visualizzatore si preoccuperà di "formattare" l'output in html, json, xml, ecc.
Oggi costruiremo l'ultima parte del Core, ovvero, il modulo Response, esso riceve l'output dalle applicazioni e lo indirizza verso un visualizzatore. Response, semplicemente, si occupa di ricevere l'output dalle applicazione e di instradarlo verso un visualizzatore, di seguito il codice di "/app/Concerto/Response.php"
Abbiamo predisposto il tutto in modo che Response in base all'estensione: .html, .json, .xml, riesce in automatico a individuare il tipo di output da instradare, inoltre in un file di confiurazione "/app/Concerto/config/response.yml" abbiamo segnato i visualizzatori utilizzabili, abbiamo posizionato i visualizzatori sotto "/app/Render/nome_visualizzatore" in modo che in un prossimo futuro ne possiamo aggiungere altri.
Infine, il metodo "render()" si occupa di prendere l'output e inviarlo ad un visualizzatore, dobbiamo aggiungere una riga in "index.php"
Nel prossimo articolo svilupperemo i diversi visualizzatori e stabiliremo in che formato le App devono produrre l'output.