Opprette en mal-system i PHP er veldig nyttig . En mal system skiller virksomheten og vise logikk og holder koden godt separert , enklere å dokumentere og teste og mer vedlikeholdsvennlig . Dette gjøres ved å holde forretningslogikk , for eksempel database spørringer og databehandling , og vise kode i separate filer . Når forretningslogikk filen kjøres , det tar vare på all logikk og i stedet for å vise HTML -kode direkte , laster displayet filen og sender den dataene for den til format og skjerm. Instruksjoner
en
Opprett en ny fil og åpne den med en tekst editor. ? Kopier og lim inn koden nedenfor i filen og lagre den som " . Template.php "
< php
klasse malen {
offentlige $ verdier,
offentlig $ file ;
offentlig funksjon __ construct ( $ file = '', $ verdier = array ( ) ) {
$ this - > file = $ file ;
$ this-> verdier = $ verdier ,
}
offentlig funksjon utgang ( ) {
ob_start ();
inkluderer ( $ this - > fil) ;
$ out = ob_get_clean ();
echo $ ut,
} }
2
Lag en ny fil og åpne den med en tekst editor. I begynnelsen av filen, kjøre PHP er " require_once "-funksjonen med " template.php " som parameter. Execute din forretningslogikk som du ville gjort på en vanlig side . Lag en ny " mal " objekt ved hjelp av PHP er " nye" syntaks med banen til skjermen siden som parameter. Sett " Mal " objektets " verdier " eiendom med verdier å passere til skjermen siden. Output displayet side ved å kalle objektets "output "-metoden . Her er et eksempel : en
< php
require_once ' template.php ';
//... ? Logikken her
$ template = ny mal ( ' layout.php ');
$ mal -> verdier [ 'title '] = " Min side ";
$ mal - > verdier [' navn '] [ ] = " Jakob ";
$ template- > verdier [' navn '] [ ] = " John" ,
$ mal - > verdier [' navn '] [ ] = " Tony ";
$ template- > utgang ();
3
For displayet kode, opprette en ny fil med navnet som brukes i forrige trinn , og åpne filen ved hjelp av en tekst editor. Skriv kode for å formatere og vise verdiene satt av forretningslogikk siden. Verdiene lagres i " $ Denne -> -verdier . " Her er et eksempel : < ? Php echo $ this-> ?
Verdier [ 'title' ]; > < /h1 >
navn < /h2 >