20. 9. 2004 v sekci nezařazeno:

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ů..

Komentáře

1. Katulus
20. 09. 04, 22.30

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.