Smarty Template Engine 33. díl – Konfigurační soubory IV.
V tomto díle si ukážeme zbylé možnosti jak kodérů, tak samotných PHP programátorů, při práci s konfiguračními soubory.
Další nastavení
$config_read_hidden
nastavení: true/false, defaultně: true
Jak vyplívá z názvu tohoto parametru, nastavuje neviditelnost proměnných v konfiguračních souborech, jež nastavíme jako skryté připsáním znaku tečky:“.“ před název sekce. Defaultní hodnota true je zneviditelní pro výpis v šablonách. Nastevením parametru na hodnotu FALSE se stanou nejen použitelnými, ale také umožníme jejich vypisování v šablonách.
hlavicka.php
$smarty->config_read_hidden = false;
$config_fix_newlines
nastevení: true/false, defaultně: true
Nastavuje zaenterování v konfiguračních souborech z „/n“ na „/r/n“. A naopak.
$smarty->config_fix_newlines = false;
Funkce v PHP třídy Smarty
Krom vnitřních proměnných nabízí Smarty také své vnitřní funkce. A to také pro práci s konfiguračními soubory. Funkce jsou vlastně metodami třídy Smarty.config_load()
void config_load ( konfigurační soubor [, hodnota k přiřazení])
Funkce načte data z konfiguračního souboru předaného v prvním parametru metody a přiřadí je do šablony pomocí druhého svého parametru. Funguje tak vlastně podobným způsobem jako její ekvivalent {config_load} ve Smarty.
Nastavení všech souborů je stejné jako v minulém díle pouze upravíme
muj_config.conf
hlavicka = "Smarty z Konfiguracniho"
[Colours]
#barvicky
fC = #FF9900
index.php
<?php
require_once("./hlavicka.php");
$smarty->config_load('muj_config.conf');//nacteni globalnich
$smarty->config_load('muj_config.conf', 'Colours');//nacteni promennych ze sectionu
$smarty->display('index.tpl');
?>
a k tomu ekvivaletně
index.tpl
{include file='./hlavicka.tpl' hlavicka=#hlavicka#}
<p>
<span style="color:{cycle values=#fC#};">barva: {#fC#}<br/>
</p>
{include file='./paticka.tpl'}
get_config_vars()
array get_config_vars ( [název proměnné pro přiřazení])
V případě prázdného parametru vrací všechny položky z konfiguračního souboru. Při zadání konkrétního sectionu pak jeho vlastní obsah. První však musíme použít výše uvedenou funkci pro upřesnění konfiguračního souboru, z něhož máme proměnné načítat.
index.php
<?php
require_once("./hlavicka.php");
$smarty->config_load('muj_config.conf');
echo $smarty->get_config_vars('hlavicka');
$smarty->display('index.tpl');
?>
Tento příklad vypíše obsah proměnné „hlavicka“, jež máme umístěnou v konfiguračním souboru: „muj_config.conf“.
clear_config()
void clear_config ( [string proměnná])
Tato funkce slouží k smazání konfiguračních proměnných ze skriptu v případě, že jsme některé takové již načetli výše uvedenými metodami. V případě zanechání prázdného parametru se smaží proměnné dané pro celý konfigurační soubor. Přidáním parametru do metody pak můžeme smazat jednu konkrétní proměnnou.
index.php
<?php
require_once("./hlavicka.php");
$smarty->config_load('muj_config.conf');
$smarty->get_config_vars('hlavicka');
echo "Prvni vypsani: ".$smarty->get_config_vars('hlavicka');
$smarty->clear_config('hlavicka');
echo "<br/>Po smazani: ".$smarty->get_config_vars('hlavicka');
$smarty->display('index.tpl');
?>
Z následující příkladu vidíte, že proměnná se vypíše pouze před použitím funkce „clear_donfig“ a poté už nikoliv. Samozřejmě pokud bychom znovu zavolali funkci: „config_load“, můžeme opět zvrátit i tuto funkci.