PHP – Classe per gestire il layout delle pagine
Template.class.php
All’interno di questo file troviamo la classe Template, le cui parti che ci interessano sono riportate in seguito per completezza:
| class Template {
const DELIMIT_SX = ‘[__'; ………………………… public function __construct($docRoot=’./’) { … } public function setDocRoot($docRoot) { … } public function getDocRoot() { … } public function addFiles($files) { … } public function getFile($key=’all’) { … } public function setVariable($name, $value, $append=false) { … } public function setVariableByVariable($name, $nameBy, $append=false) { … } public function getVariable($name=’all’) { … } public function getOutput($key, $outputToVideo=false) { … } } |
Nelle prime due righe della classe troviamo le costanti che servono per delimitare i tag all’interno dei template. Nel caso vogliate usare altri delimitatori nei vostri file html basta modificare DELIMIT_SX e DELIMIT_DX.
public function __construct($docRoot=’./’)
__construct() rappresenta il costruttore della classe dove viene inizializzato lo stato di default dell’oggetto. il parametro $docRoot contiene il percorso dove sono presenti i file dei template.
public function setDocRoot($docRoot)
setDocRoot() setta la proprietà $docRoot con il percorso reale dove risiedono i template html.
public function getDocRoot()
getDocRoot() recupera il valore presente nella proprietà $docRoot.
public function addFiles($files)
addFiles() permette di registrare nella proprietà $files il contenuto dei file template che andremo ad utilizzare, passati tramite il paremtro di input del metodo stesso. Nel caso il parametro di input non sia un array oppure uno dei suoi elementi non rappresenti un template presente nel file system verrà generata un’eccezione.
public function getFile($key=’all’)
metodo recupera uno o più elementi della proprietà $files della classe. Nel caso lo si utilizzi senza passare alcun parametro sarà recuperato un array contenente i nomi dei template, in caso contrario restituirà il contenuto del file il cui nome è contenuto in $key.
public function setVariable($name, $value, $append=false)
setVariable() permette di valorizzare un elemento della proprietà $values; il parametro $name contiene il nome della variabile presente in un template html, mentre value è il valore da sostituire alla variabile. $append ci indica se il nuovo valore per la variabile andrà a sostituire quello già presente oppure sarà a quest’ultimo accodato.
public function setVariableByVariable($name, $nameBy, $append=false)
setVariableByVariable() permette di valorizzare un elemento della proprietà $values; il parametro $name contiene il nome della variabile presente in un template html, mentre $nameBy è il nome di una variabile in un template html il cui valore, se presente in $values, andrà inserito nell’elemento di chiave $name di $values. $append ci indica se il nuovo valore per la variabile andrà a sostituire quello già presente oppure sarà a quest’ultimo accodato.
public function getVariable($name=’all’)
getVariable() recupera il valore presente nella proprietà $values. Se $name è uguale a ‘all’ verrà restituita l’intera proprietà $values della classe, altrimenti il valore contenuto nell’elemento la cui posizione è individuata d name.
public function parseTemplate($variable, $template, $append=false)
parseTemplate() prende il contenuto di un template, identificato dal parametro $template, e lo inserisce in una variabile di template, identificata dal parametro $variable; nel caso $append valga true in $variable viene aggiunto il contenuto al valore già presente, in caso contrario il contenuto di $template sovrascrive il vecchio contenuto di $variable. Di seguito si sostituiscono tutte le variabili con il contenuto corrispondente come si nota nel ciclo foreach, ed alla fine viene eseguito il settaggio richiesto.
public function getOutput($key, $outputToVideo=false)
getOutput() permette di recuperare l’HTML finale restituendolo o visualizzandolo direttamente a video, in relazione al valore presente nel parametro $outputToVideo. Prima di tutto viene settata la proprietà html della classe tramite il contenuto la cui chiave è definita dal parametro $key; poi si sostituiscono le variabili presente nell’html con i valori appropriati ed infine si esegue l’azione richiesta sui variabili non valorizzate ancora presenti. Per ultimo si decide se restituire l’html di interesse o viasulizzarlo a video direttamente.





Loading ...





Commenti recenti