dum | žák

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

pdf icon
PHP - include

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

  1. <?php
  2.  
  3. $title = "Lorem ipsum";
  4.  
  5. include "header.php";
  6.  
  7. date_default_timezone_set("Europe/Prague");
  8. echo strftime("%d.%m.%Y %H:%M");
  9.  
  10. include "footer.php";

header.php

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title><?php echo $title;?></title>
  6. </head>
  7. <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ší.