In PHP possiamo passare i dati ai template delle view in modo molto semplice.
Non solo possiamo includere il file del template ma anche passargli i relativi dati tramite un array associativo da cui verranno estratte le variabili rilevanti:
define('VIEWPATH', $_SERVER['DOCUMENT_ROOT'] . '/views/');
function get_template_part($name = '', $data = [] ) {
if(count($data) > 0) {
extract($data);
}
if(file_exists(VIEWPATH . $name . '.php')) {
include(VIEWPATH . $name . '.php');
}
}
Usiamo la funzione in questo modo:
get_template_part('home', ['test' => 'Hello world']);
Nel template avremo:
<!-- /views/home.php -->
<p><?php echo $test; ?></p>
E otterremo il seguente output finale:
<!-- /views/home.php -->
<p>Hello world</p>