Innehållsförteckning
I denna lilla handledning kommer vi att behandla hur man arbetar med mallar med php, vi kommer att säga några men stora fördelar med att arbeta på detta sätt:Vi separerar XHTML eller HTML från php -koden, det vill säga att vår mall inte kommer att ha php -kod, så när vi designar kommer vi bara att oroa oss för det, bara för att designa.
Bättre organisation av filer.
Mallen innehåller ingen php -kod, någon php -kod som innehåller detta ignoreras och ersätts helt enkelt.
De är två men väldigt bra, det vill säga designern som ansvarar för designen och programmeraren som ansvarar för programmeringen.
Nu ska vi se hur vi uppnår detta, vi kommer helt enkelt att identifiera det område som php kommer att ersättas med en identifierare som omges av hängslen "{}", för att se det tydligare, låt oss börja med att göra vår mall, som jag sa tidigare det kommer bara att vara XHTML- eller HTML -kod
Detta är ett mallanvändningstestMin {variabel} med mall och php
Som vi ser helt enkelt HTML -kod, kommer php att ta hand om analysvariabeln som är det som är inneslutet i hängslen, för detta kommer vi att använda mallklassen gjord av Dano, baserat på phpBB -malsystemet, vi behöver bara skicka namnet på vår mall, listan över variabler som vi ska analysera och åberopa den metod (eller fungera som du förstår det bättre) som kommer att ansvara för analys, detta är koden för den klassen.
tpl_file = 'mallar /'. $ template_file. '.tpl'; } funktionen assign_variables ($ vars) {$ this-> vars = (tom ($ this-> vars))? $ vars: $ this-> vars. $ vars; } function show () {if (! ($ this-> fd = @fopen ($ this-> tpl_file, 'r'))) {holder_error ('error opening template'. $ this-> tpl_file); } annat {$ this-> template_file = fread ($ this-> fd, filstorlek ($ this-> tpl_file)); fclose ($ this-> fd); $ this-> mihtml = $ this-> template_file; $ this-> mihtml = str_replace ("'", "\'", $ this-> mihtml); $ this-> mihtml = preg_replace (' # \ {([a-z0-9 \ -_] *?) \} # is', "'. $ \ 1.'", $ this-> mihtml); reset ($ this-> vars); while (list ($ key, $ val) = each ($ this-> vars)) {$$ key = $ val; } eval ("\ $ this-> mihtml = '$ this-> mihtml';"); reset ($ this-> vars); while (list ($ key, $ val) = each ($ this-> vars)) {unset ($$ key); } $ this-> mihtml = str_replace ("\ '", "'", $ this-> mihtml); echo $ this-> mihtml; }}}?> var13 ->
Assign_variables -funktionen, som kommer att ansvara för att ta emot namnen på de variabler som vi ska analysera, i detta exempel kommer det att vara en php -variabel, som kommer att ändra {variabel} för $ variabel.
Nästa metod är provet är vår parser som sådan, det vill säga den kommer att identifiera de variabler som erhållits i den tidigare metoden som finns i mallen och ersätta den med det värde vi vill ha.
Låt oss med ett enkelt exempel se hur vi kan använda det, innan vi kommer att förklara hur våra filer ska organiseras, först skapar vi en mapp som heter mallar som innehåller alla filer i mallarna som designats av oss, på samma nivå av mapp lägger vi filen (class_template) med mallklassskriptet och php -skripten som kommer att använda den.
Nu som sagt, låt oss se hur vi använder klassen, vi skapar vårt php -skript som heter news.php.
assign_variables (array ("variabel" => "nyheter", "variabel" => "datum")); // $ ContentString innehåller vår mall, redan med variablerna som är tilldelade för att ersätta $ ContentString = $ Content-> sample (); echo $ ContentString; ?> var13 ->Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng