Samizdatová skripta

Příkazy pro načítání skriptů do skriptů


Při rutinní tvorbě stránek pomocí skriptů se velice často setkáme s potřebou načítání jiných skriptů či částí stránek. Načítané soubory mohou obsahovat předdefinované funkce, které používáme na více stránkách, nebo např. standardizované hlavičky a patičky stránek. Pro načítání skriptů máme v PHP k dispozici příkazy require a include. Na příponě souborů obvykle nezáleží a proto se tyto příkazy nepoužívají pro výpis z obsahu souboru např. v nějakém fóru.

Příkaz require (include)

Příkazy include a require se používají pro vložení zdrojového souboru php na určité místo v jiném souboru. Vložený soubor se ve výsledku chová tak, jako by byl na daném místě odjakživa. To znamená, že pokud je v něm kód jazyka PHP, normálně se provede. Require se chová úplně stejně jako include; rozdíl je pouze v tom, co se stane, když požadovaný soubor k začlenění chybí. Include vyprodukuje varování, require fatální chybu. Umístění include a require souborů vůči souboru, do nějž se bude vkládat může být být dáno buď relativní cestou, nebo pomocí konfigurační proměnné include_path při instalaci PHP. Začleněné soubory se chovají skutečně "jako by tam byly odjakživa", takže jestliže je například v začleňovaném souboru definována funkce, skript, do něhož se začleňuje může tuto funkci využít.

Syntaxe příkazu: require «jméno souboru»;

«jméno souboru» je libovolný výraz, který se vyhodnotí jako řetězec. Specialitou příkazu require je, že se provede pouze jednou. Pokud bychom ho volali v cyklu a chtěli načíst soubor vícekrát, načte se pouze po prvním průchodu cyklem. Pro opakované čtení souborů je potřeba využít příkaz include.

Parametrem příkazu je jméno souboru, které samozřejmě musí obsahovat i cestu. Cestu lze zadat i relativní; jako základní adresář se bere ten, z něhož je spouštěn skript obsahující příkaz require.

Nejčastěji se require používá pro načtení uživatelem definovaných funkcí: require "mojefunkce.php";

include_once, require_once

Tyto příkazy fungují stejně jako předchozí dva, jen s tím rozdílem, že zabrání opětovnému vložení dvakrát stejného souboru. Při sestavování složitějších projektů může situace, kdy nevíte zda soubor byl či nebyl vložen, skutečně nastat, takže se to hodí. Vložení dvakrát téhož souboru může celý skript snadno zablokovat, protože například definovat dvakrát funkci se stejným názvem je nepřípustné.

echo " <h2>Načtení souboru p19.php </h2> <br> <hr> <br>";

@include "p19.php";

echo " <h2>Načtení souboru p11.htm </h2> <br> <hr> <br>";

@include "p11.htm";

upravit odstranit css

NAVRCHOLU.cz