Concludo l'esempio dell'uso dei template con una tabella usando il ciclo foreach per creare le righe utilizzando i template, ovviamente l'html per la tabella potrebbe essere riutilizzato anche per altre tabelle basta solamente passare la chiave nell'array del template con lo stesso nome...Io usando questa metodologia ho sviluppato una pagina dove dinamicamente interrogo il Database e creo delle tabelle con un NOME di testata esempio INDIRIZZO, RECAPITI etc...che mi viene passato dal Database in automatico e dinamicamente il ciclo recupera quel campo e lo utilizza come testata e le righe vengono create in automatico in base al campo testata, ogni volta che cambia la testata cambiano anche le righe relative a quella testata, in questo modo io creo N tabelle(in base a quanti campi di testata ci sono nel Database) con 3 template, possono esserci 10-20 tabelle non mi interessa io uso solamente tre template(testata, riga e chiusura) che dinamicamente valorizzano le tabelle.
Sotto un esempio conclusivo di come creare la tabella con un bottone finale...Da notare che i tag sono aperti in un file ma ovviamente sono chiusi nell'altro file, l'IDE potrebbe dare dei warning ma nella realtà non sono warning perchè tutto viene letto nel parse PHP e quindi i tag si aprono e si chiudono all'interno della pagina.
Primo file
PROVA.PHP
Codice PHP:
<?php
include "view/template.php";
//lE VARIABILI CHE PASSERO' AL TEMPLATE QUESTO E' SOLAMENTE UN ESEMPIO
$titolo = 'Prova Template';
$fractalcosmo = 'fractalcosmo';
$home = "Mio Sito";
$utente = "Sono io";
$contatto = "miaEmail@google.com";
//ISTANZIO LA CLASSE
$html = new Template();
//DEFINISCO IL PERCORSO DOVE E' IL MIO FILE HTML E IL NOME DEL FILE, IN QUESTO CASO IN FILE INDEX.PHP
//E IL FILE PROVA.HTML SONO NELLA STESSA DIRECTORY SE FOSSERO DUE DIRECTORY DIVERSE
//BASTA IMPOSTARE IL PERCORSO
$html->carica("prova.html");
//SETTO LE VARIABILI LE PASSO AL TEMPLATE me sarà ripreso con {me} nell'html casa con {casa} e così via
$html -> settaVariabili(array(
"titolo" => $titolo,
"casa" => $home,
"utente" => $utente,
"contatto" => $contatto
));
//Lo stampo e pulisco
$html -> procedi();
ob_flush();
//ISTANZIO LA CLASSE per la Testata
$html = new Template();
$html->carica("provaTabellaTestata.html");
$html -> settaVariabili(array(
));
//Lo stampo e pulisco
$html -> procedi();
ob_flush();
$arrayAnagrafica = array('Luca'=>'Rossi',
'Marco'=>'Verdi',
'Roberto'=>'Cantagirone',
'Emiliano'=>'Piccolo');
foreach ($arrayAnagrafica as $chiave=>$valore){
$nome = $chiave;
$cognome = $valore;
//ISTANZIO LA CLASSE per la Riga
$html = new Template();
$html->carica("provaTabellaRiga.html");
$html -> settaVariabili(array(
"nome"=>$nome,
"cognome"=>$cognome
));
//Lo stampo e pulisco
$html -> procedi();
ob_flush();
}
//ISTANZIO LA CLASSE per la Chiusura
$html = new Template();
$html->carica("provaTabellaChiusura.html");
$html -> settaVariabili(array(
"me" => $fractalcosmo,
));
//Lo stampo e pulisco
$html -> procedi();
ob_flush();
?>
PRIMO TEMPLATE provaTabellaTestata.html
(A DIRE IL VERO IL PRIMO HTML È prova.html che trovate nell'esempio del messaggio precedente)
provaTabellaTestata.html :
Codice HTML:
<table name="provaTabella" border="1" id="provaTabella" class="table" >
<tr class="tabellaAnagrafica">
<th width=5%>Nome</th>
<th width=5%>Cognome</th>
</tr>
provaTabellaRiga.html:
Codice HTML:
<tr id="provaTabellaRiga">
<td>{nome}</td>
<td>{cognome}</td>
</tr>
provaTabellaChiusura.html
Codice HTML:
</table>
<input type="button" value="Inserisci">
<footer>
<p>© Copyright by {me}</p>
</footer>
</div>
</body>
</html>
L'esempio può essere visto qui:
http://fractalcosmo.altervista.org/MvcWebLog/prove.php
Ps:Spero vivamente che possa essere utile.