smarty – šablonu sistēma priekš php

16
Smarty – šablonu sistēma priekš PHP Jānis Vītols LU 2011 (en. template engine for PHP)

Upload: davis-middleton

Post on 03-Jan-2016

65 views

Category:

Documents


5 download

DESCRIPTION

Smarty – šablonu sistēma priekš PHP. (en. template engine for PHP ). Jānis Vītols LU 2011. Kas ir Smarty?. Šablonu sistēma, kas ļauj atdalīt PHP kodu no HTML; Padara programmēšanas un dizaina pusi vienkāršaku un tīraku; Uzrakstīts PHP skriptēšanas valodā; Uzrakstīts ar OOP pieeju. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Smarty – šablonu sistēma  priekš PHP

Smarty – šablonu sistēma priekš PHP

Jānis VītolsLU 2011

(en. template engine for PHP)

Page 2: Smarty – šablonu sistēma  priekš PHP

Kas ir Smarty? Šablonu sistēma, kas ļauj atdalīt PHP

kodu no HTML; Padara programmēšanas un dizaina pusi

vienkāršaku un tīraku; Uzrakstīts PHP skriptēšanas valodā; Uzrakstīts ar OOP pieeju.

*PHP - Personal Home Page / PHP: Hypertext Preprocessor

*HTML - HyperText Markup Language*OOP – Object Oriented Programming

Page 3: Smarty – šablonu sistēma  priekš PHP

Uzstādīšana Mājas lapa: http://www.smarty.net/ Lejupielādēt Smarty Atpakot Ievietot mājas lapas direktorijā, vai arī

kādā sistēmas direktorijā (/usr/local/lib/php/Smarty)

Izveidot mājas lapas direktorijā direktoriju smarty un tajā direktorijas: templates, templates_c, cache, configs. Uzlikt tiesības.

Page 4: Smarty – šablonu sistēma  priekš PHP

Uzstādīšana

*Instrukcijas: http://www.smarty.net/quick_install

Page 5: Smarty – šablonu sistēma  priekš PHP

Smarty PHP faila saturs<?php// Pievienojam Smarty klasi/bibleotēkuinclude('Smarty.class.php');

// Izveidojam Smarty objektu$smarty = new Smarty;

// Piešķiram Smarty mainīgajam vērtību$smarty->assign('greeting', 'I am in!');

// Nosakam kādu šablona failu ielādēt$smarty->display('index.tpl');

Page 6: Smarty – šablonu sistēma  priekš PHP

Smarty šablona faila saturs

{* Smarty *}<html><head><title>Hello There!</title></head><body>

<p>My first Smarty page!</p>

<p>{$greeting}</p>

</body></html>

Page 7: Smarty – šablonu sistēma  priekš PHP

Kā strādā Smarty?

Page 8: Smarty – šablonu sistēma  priekš PHP

Smarty šablonu valoda (Pamata)

Komentāri• {* Šādi pievieno komentārus HTML failā *}

Funkcijas• {include file=“header.tpl”}• {include file=“footer.tpl”} ...

Atribūti priekš funkcijām• {include file=“header.tpl” title=“Mana

mājas lapa” css=“my.css”}

Page 9: Smarty – šablonu sistēma  priekš PHP

Smarty šablonu valoda (Mainīgie)

Mainīgo vērtību piešķiršana• $smarty->assign(“smartyVar”, $phpVar);

Mainīgo pielietošana• {$greeting}• {$row.firstName}• {$results.name.firstName}• {$row[0][0]}• {$person->firstName}

Page 10: Smarty – šablonu sistēma  priekš PHP

Smarty šablonu valoda (Konfigurācijas)

Vairāku valodu atbalsta realizācija:• {config_load file="language.conf“

section=$currentLanguage}• $currentLanguage – vērtība ielādējas caur

$smarty->assign();• Language.conf – satur dažādus tulkojumus• HTML failā izmanto – {#text_to_translate#}

Page 11: Smarty – šablonu sistēma  priekš PHP

Language.conf piemērs [lv]

• MAIN_HELLO = “Čau”;• LOGOUT_BUTTON = “Iziet”;

[en]• MAIN_HELLO = “Hi”;• LOGOUT_BUTTON = “Sign out”;

* HTML .tpl failā pielietojās: {#MAIN_HELLO#}, {#LOGOUT_BUTTON#} utt...

Page 12: Smarty – šablonu sistēma  priekš PHP

Smarty šablonu valoda (Modifikatori)

PHP failā: $smarty->assign("name", "Smarty is powerful, yet easy! ");

HTML .tpl failā: {$name|capitalize|spacify|truncate:45:"…"}

• Pārlūkā: S m a r t y I s P o w e r f u l , Y e t...

Page 13: Smarty – šablonu sistēma  priekš PHP

Cikli, sekcijasPHP fails:$sql = "SELECT firstname, lastname FROM usertable";$result = mysql_query($sql);while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ $users[] = array ( 'firstname' => $row['firstname'], 'lastname' => $row['lastname'] );}$tpl->assign('users', $users);HTML šablona fails:<table> <tr> <th>Firstname</th> <th>Lastname</th> </tr> {section name=userinfo loop=$users} <tr> <td>{$users[userinfo].firstname}</td> <td>{$users[userinfo].lastname}</td> </tr> {/section}</table>

Page 14: Smarty – šablonu sistēma  priekš PHP

Nosacījumi if, elseif, else Operatori:

• "eq", "ne","neq", "gt", "lt", "lte", "le", "gte" "ge","is even","is odd", "is not even","is not odd","not","mod","div by","even by","odd by","==","!=",">", "<","<=",">="

Piemērs:{if $firstname} Hello {$firstname}.{else} Hello stranger.{/if}

Page 15: Smarty – šablonu sistēma  priekš PHP

Kāpēc lietot Smarty? Viņš ir ātrs; Kompilējās PHP failā, katru reizi nav

jāiziet (en. Parsing) viss(i) šablonu faili;

Labi strādā ar kešošanu (en. Cache) un dažādiem paātrinātājiem (en. Accelerators);

Spēcīga šablonu valoda: cikli, mainīgie, funkcijas, konfigurācijas faili...;

Iespēja veidot spraudņus (en. Plugins).

Page 16: Smarty – šablonu sistēma  priekš PHP

...$smarty->assign(“the_end”, “Paldies par uzmanību!”);...

{$the_end}