Viste in MVC in PHP
Ora aggiungiamo delle viste alle nostre azioni.
Secondo le regole del nostro framework, le viste
sono memorizzate nella cartella /project/views/.
Inoltre, nel nostro framework vige una
convenzione: il nome del file della vista deve
corrispondere al nome dell'azione e deve essere posizionato
in una cartella con lo stesso nome del controller.
Ad esempio, se abbiamo un controller PageController,
tutte le sue viste dovrebbero essere memorizzate
nella cartella /project/views/page/. Il
file della vista stesso deve avere l'estensione
.php. Ad esempio, se nel controller
PageController c'è un'azione act,
la sua vista dovrebbe essere posizionata in
/project/views/page/act.php.
Per assegnare una vista a un'azione,
quell'azione deve chiamare il metodo
render, passandogli come parametro il nome
della vista. Il nome della vista deve consistere
del nome del controller con la lettera minuscola, dopo
il quale attraverso / sarà scritto il nome
dell'azione.
Il metodo render non deve essere implementato
nel controller - è ereditato dalla classe
genitore Core\Controller. Inoltre,
per un funzionamento corretto, il risultato del metodo
dovrebbe essere restituito tramite return.
Quindi, supponiamo di avere un controller Page
con l'azione act. Associamo
a questa azione una vista:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
Ora creiamo il file con il codice HTML della nostra vista:
<div>
questa è la vista
dell'azione act del controller page
</div>
Eseguite le manipolazioni descritte, poi accedete alla nostra azione tramite la barra degli indirizzi. Assicuratevi che nel browser appaia il testo dalla vista che avete creato.