motor Smarty șablon

Foarte adesea, dezvoltarea site-ului a implicat mai multe persoane. De exemplu, proiectantul face ca HTML-codificare și umple conținutul paginii și programatori pro - creează o parte dinamică. În acest caz, proiectantul nu poate înțelege Programarea absolută. În cazul în care codul HTML este situat în interiorul PHP-cod, acesta va fi un obstacol serios în activitatea de designer.

Când utilizați templating HTML-cod este separat de PHP-cod și este situat într-un fișier separat, ca un șablon. În acest caz, designerii sunt pur HTML-cod cu patch-uri mici de specii

În această secțiune ne vom uita la caracteristicile de bază ale motorului Smarty șablon, care permite nu numai să se separe codul HTML de PHP-cod, dar, de asemenea, controlat lyat în cache rezultatele analizat.

5.32.1. Instalarea și configurarea

2.6.26.zip și despachetarea în dosarul curent. Din această arhivă, vom avea nevoie de dosarul libs. Redenumiți-l la Smarty și copiați în C: \ Apache2. Astfel, fișierul Smarty.class.php trebuie să fie localizat în C: Apache2 \ Smarty \. Calea către directorul, specificați în script constantele SMARTY_DIR:

In C: \ Apache2 \ Smarty crea directorul site1, și în interiorul patru dosare:

template-uri - aici vom posta șabloane create;

templates_c - atunci când încărcați mai întâi un șablon, acesta automat este convertit la corespunzătoare PHP-cod, care este stocat în acest dosar. PHP-cod este creat doar o singură dată, la prima pornire și după schimbarea șablonului curent. Fiecare execuție ulterioară a script-ul, cele care utilizează șablonul va avea ca rezultat o execuție PHP-cod, mai degrabă decât să urle de compilare șablon HO-. Modificare fișiere în acest dosar manual, nu ar trebui să fie;

configs - în fișier cu variabile globale. Fișierele din acest director ar trebui să fie încărcate în șablonul folosind instrucțiunile;

cache - în cache pagini.

Localizarea acestor foldere setate folosind template_dir proprietăți, compile_dir, config_dir și cache_dir respectiv. Că fiecare script nu specifică o cale, de a crea o nouă clasă care moștenește toate proprietățile și metodele de clasă Smarty, precum și determinarea locația folderului (lis- Ting 5,75).

Listarea 5,75. Fișier Conținut MySmarty.php

define ( 'SMARTY_DIR', 'C: / Apache2 / smarty /'); require_once (SMARTY_DIR 'Smarty.class.php'.); class MySmarty extinde Smarty

Funcția MySmarty ()

Acest fișier ne conectam în toate script-urile. neobho- Dimo ​​plasați fișierul în același folder cu scriptul sau într-unul dintre directoarele enumerate în include_path cu Directiva.

Acum vom verifica performanța Smarty. Pentru a face acest lucru în directorul C: \ Apache2 \ Smarty \ site1 \ șabloane index.tpl crea fișierul și adăugați codul în Listarea 5,76.

Listarea 5,76. Conținutul Șablon C: \ Apache2 \ Smarty \ site1 \ template \ index.tpl

Bună ziua ,. Smarty funcționează!

Listarea 5.77. Conținutul fișierul C: \ Apache2 \ htdocs \ index.php

require_once ( 'MySmarty.php'); // A se vedea. Listarea 5,75

$ Smarty = new MySmarty ();

// specifica valori pentru variabilele din cadrul șablonului

$ Smarty-> atribui ( 'titlu', 'Primul model');

fișier este inclus în prima linie care conține clasa MySmarty (lis- Ting 5,75). Următoarea linie creează o instanță de clasă. Mai departe cu pomo- schyu (Assign) Valorile metodei specificate pentru variabilele din cadrul shablo- pe. Pentru a afișa ecranul rezultat () metodă se numește în fereastra browser-ul Web, care indică numele parametrului șablon. Rezultatul programului este prezentat în Listarea 5,78.

Listarea 5,78. Rezultatul listării 5,77

Bună, Nicholas. Smarty funcționează!

După cum se poate observa din exemplul, instrucțiunile și au fost înlocuite cu valorile indicate în metoda assign (). Nr Smarty caracteristici în SG codul HTML inițial nr. Acum, deschide fișierul care a fost dat în mod automat soz- în directorul C: \ Apache2 \ Smarty \ site1 \ templates_c după timpul de compilare. Conținutul fișierului din listingul 5.79.

Listarea 5.79. Rezultatul index.tpl șablon de compilare