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ší.