Jak nainstalovat Smarty
Pro bezproblémové fungování potřebuje Smarty PHP 4.0.6 a vyšší. Smarty stáhnete z adresy smarty.php.net/download.php. V době psaní článku byla nejnovější verze 2.6.14. Balíček Smarty si stáhněte a rozbalte.
Balíček Smarty rozbalte a podívejte se do složky libs, tady najdete vše podstatné pro běžnou práci. Dále v rootu webu (když smarty jen testujete, vytvořte si např. cestu http://localhost/smarty) vytvořte složku smarty, do které přesuňte soubory
- Smarty.class.php
- Smarty_Compiler.class.php
- Config_File.class.php
- debug.tpl
- celou složku internals
- celou složku plugins
V rootu webu si dále vytvořte např. složku www, kde budete mít webové aplikace (http://localhost/smarty/www).
V rootu webu dále vytvořte 4 další složky. První se bude jmenovat templates, zde budou šablony. Další je templates_c pro zkompilované šablony. Pak configs pro konfigurační soubory a poslední je cache pro cachovaní. Složky templates_c a cache musí mít povolené práva pro zápis. Adresářová struktura tedy bude taková (pro testování):
- http://localhost/smarty/www
- http://localhost/smarty/smarty
- http://localhost/smarty/template
- http://localhost/smarty/template_c
- http://localhost/smarty/configs
- http://localhost/smarty/cache
Pozor! Takovou strukturu si můžete dovolit pouze pro testování na localhostu, na webu z důvodu bezpečnosti je lepší umístit soubory se Smarty mimo adresářovou strukturu.
Pak vytvořte soubor moje-smarty.php a uložte ho do adresáře www. Ten nyní budeme modifikovat pro naše potřeby takto:
<?php
require '../smarty/Smarty.class.php';
class MojeSmarty extends Smarty {
public function __construct(){
$this->Smarty();
$this->template_dir = '../templates/';
$this->config_dir = '../config/';
$this->compile_dir = '../templates_c/';
$this->cache_dir = '../cache/';
}
}
?>
Nejprve jsme načetli soubor Smarty.class.php, vyvořili novou třídu MojeSmarty, která zdědila vlastnosti třídy Smarty. Dále jsme nastavili adresy všech adresářů.
Nakonec ještě vytvoříme vzorový soubor index.php, který uložíme do adresáře www. Stejný zápis bude pak používat každý skript, který bude pracovat se Smarty:
<?php
require_once 'moje-smarty.php';
$smarty = new MojeSmarty;
?>
Skript nejprve zahrne a následně vytváří instanci vaší vytvořené třídy.
Pokračujte dále: Moje první Smarty