Náhrada frámů II
Jak jste někteří poznamenali v reakcích na předchozí
článek o vkládání elementů pomocí PHP, je mnohem dokonalejší
způsob, než používání příkazů include
(nebo
require
).
Jak jste někteří poznamenali v reakcích na předchozí
článek o vkládání elementů pomocí PHP, je mnohem dokonalejší
způsob, než používání příkazů include
(nebo
require
). Jsou jím funkce.
Celý postup je velice jednoduchý. Vytvořím si knihovnu s funkcemi library.php (ne library.inc – soubory s koncovkou inc se nezpracovávají před zobrazením uživateli pomocí překladače PHP, takže by případný „útočník“ získal Váš kód) a do ní vložím veškeré funkce, které budu používat např. pro hlavičku, patičku,.. ve stránce si potom nejdříve zavolám takto vytvořenou knihovnu a pak použiju jednotlivé funkce.
Prakticky
library.php <? function hlava($title) { echo „<?“;
?>xml version=„1.0“ encoding=„iso-8859–2“<? echo „?>“;
?> <!DOCTYPE html PUBLIC „-W3CDTD XHTML 1.0 StrictEN“
„http:www.w3.org/…1-strict.dtd“>
<html xmlns=„http://www.w3.org/1999/xhtml“ xml:lang=„cs“>
<head> <meta http-equiv=„content-type“ content=„text/html;
charset=iso-8859–2“ /> <title><? echo $title;
?></title> </head>
} ?>
index.php <? include „library.php“; hlava(‚Filův
blog‘); ....... ?>
Výše uvedené dva bloky kódu nám umožní vložit si do souboru index.php hlavičku s titulkou, která bude unikátní pro každý soubor. Vkládáme ji přes tvz. parametr funkce – kterých může být i víc (oddělují se čárkou). Parametry fce se dělí na povinné a nepovinné (mají defaultně určenou hodnotu). Při volání funkce v souboru index.php musíme vyplnit všechny povinné (ve stejném pořadí).
Příklad
Fce je zadána jako function blah($x, $y, $z=5){..něco
dělá..}
. Volání fce má tvar blah(‚neco‘, ‚neco‘); a třetí
už vyplňovat nemusíme. Parametry nemusíme zadávat v apostrofech (datový
typ řetězec), mohou to být i proměnné, čísla,..
Doufám, že to bylo alespoň maličko srozumitelné. Nechtěl bych tady rozebírat jazyk PHP od základů..
Pokud to IMHO někdo myslí s webdesignem a PHP vážně, daleko lepším a elegantnějším řešením jsou šablony jako FastTemplate nebo Smarty. Pokud máte nějaký větší projekt, tak kombinace (X)HTML a PHP přináší jedině problémy. Při použití šablon je design od PHP striktně oddělen a všechno se tak snáze spravuje.