Dynamický web
| Název školy | Vyšší odborná škola obalové techniky a Střední škola, Štětí, příspěvková organizace | ||
| Adresa školky | Kostelní 134, 411 08 Štětí | ||
| IČ | 46773509 | ||
| Název operačního programu | OP Vzdělávání pro konkurenceschopnost | ||
| Registrační číslo | CZ.1.07/1.5.00/34.1006 | ||
| Označení vzdělávacího materiálu | |||
| Název tématické oblasti (sady) | Programování | ||
| Název materiálu | PHP - include | ||
| Anotace | |||
| Autor | Jazyk | ||
| Očekávaný výstup | |||
| Klíčová slova | |||
| Druh výukového zdroje | Věková skupina žáků | ||
| Typ interakce | Ročník | ||
| Speciální vzdělávací potřeby | žádné | ||
| Zhotoveno, (datum/období) | Celková velikost | ||
Obsah
PHP je jazyk, který byl původně určen k začleňování do jazyka HTML.
V předchozích příkladech jste si mohli všimnout, jak se v příkazu echo mihl html tag (např. <h1>, <p> nebo <br>).
To byl ovšem jen drobné výskyty. PHP soubor může obsahovat celý kus HTML kódu, který může být proložen PHP kódem. Např. v následující ukázce si vypíšeme kompletní (validní) HTML stránku, ve které budeme PHP kódem generovat aktuální čas.
index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>titulek stránky</title>
</head>
<body>
Čas:
<?php
date_default_timezone_set("Europe/Prague");
echo strftime("%d.%m.%Y %H:%M");
?>
</body>
</html>
Aktuální čas se ovšem zobrazí vždy pouze při načtení stránky.
Skládačka
Časem, jak budete tvořit webové aplikace zjistíte, že některé kusy kódu se vám ve vaší aplikaci opakují a nebo byste chtěli kód vaší aplikace nějak logicky rozdělit. Např. u našeho příkladu bychom nechtěli pořád dokola opisovat záhlaví a zápatí HTML dokumentu.
V PHP existuje mechanismus, který umožňuje vkládat soubory do sebe.
V jednom souboru zavoláme příkaz include a ten nám v místě volání vloží na dané místo další kód ovšem z jiného souboru.
Vytvořme si tři soubory: index.php, header.php a footer.php.
Obsahem souborů bude následující:
header.php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>titulek stránky</title> </head> <body>
footer.php
</body> </html>
index.php
<?php include "header.php"; date_default_timezone_set("Europe/Prague"); echo strftime("%d.%m.%Y %H:%M"); include "footer.php";
Výsledkem bude, že v prohlížeči se při požadavku na index.php vrátí kompletní HTML stránka, právě díky příkazům include.
Proměnné
Pokud bychom ovšem v souboru index.php deklarovali proměnnou, např. $title ještě před prvním příkazem include,
pak ji můžeme použít i v souboru, který inkludujeme.
Sledujte následující úpravy souborů:
index.php
<?php $title = "Lorem ipsum"; include "header.php"; include "footer.php";
header.php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title><?php echo $title;?></title> </head> <body>
Výsledkem je, že obsah proměnné $title se použije v souboru header.php.
Takže do souboru header.php už nebudeme muset nikdy zasahovat a můžeme jej použít i v dalších skriptech, je teď univerzálnější.

