1 of 17

Tvorba webu IV.

Mgr. Michal Jakl

2 of 17

Prostor pro vyhodnocení úkolu z minula ☺

3 of 17

Obsah lekce

  1. Procvičování, opakování a doplnění HTML a CSS
  2. PHP

Praktické cvičení: Využití PHP pro webové projekty

4 of 17

1. Procvičování, opakování a doplnění HTML a CSS

  1. Uveďte rozdíl mezi IP adresou a DNS záznamem
  2. Uveďte jedno pravidlo dobrého a přehledného webu
  3. Vysvětlete podstatu a rozdíl mezi HTML a CSS
  4. Napište kód pro nadpis první kategorie
  5. Napište kód pro zobrazení obrázku z adresy https://brpg.mjakl.cz/icon.png
  6. Obarvěte pomocí CSS pozadí odstavce „zeleny“ na zeleno (napište daný kód)

5 of 17

1. Procvičování, opakování a doplnění HTML a CSS

  • Tvorba odkazů:
    • Do sítě = <a href="http://seznam.cz">Odkaz</a>
    • Soubor ve stejné složce = <a href="soubor.přípona">Odkaz</a>
    • Soubor v jiné složce = <a href="složka/soubor.přípona">Odkaz</a>

  • Načítání stránek prohlížečem:
    • Načtení indexu = http://mujweb.wz.cz
    • Načtení stránky/souboru v kořenovém adresáři = http://mujweb.wz.cz/soubor.pripona
    • Načtení stránky/souboru z jiné složky = http://mujweb.wz.cz/slozka/soubor.pripona

6 of 17

2. PHP – základní informace

= Hypertext Preprocessor, původně Personal Home Page

  • Skriptovací programovací jazyk určený především pro programování dynamických internetových stránek a webových aplikací
  • Vznikl v roce 1995, aktuálně ve verzi 8
  • Při použití PHP pro dynamické stránky jsou skripty prováděny na straně serveru – k uživateli je přenášen až výsledek jejich činnosti
  • Podporuje mnoho knihoven pro různé účely – např. zpracování textu, grafiky, práci se soubory, přístup k většině databázových systémů, podporu celé řady internetových protokolů (HTTP, SMTP, FTP, IMAP…)
  • Je nejrozšířenějším skriptovacím jazykem pro web, k červnu 2019 měl podíl přes 79 %
  • Oblíbeným se stal především díky jednoduchosti použití a bohaté zásobě funkcí.

7 of 17

2. PHP - proměnné

  • Jazyk PHP je dynamicky typovaný, tzn. že datový typ proměnné je vázán na hodnotu, nikoliv na proměnnou.
  • Řetězce lze v PHP zapsat 2 různými způsoby, a to:
    • uzavírat do uvozovek
    • uzavírat do apostrofů
  • Proměnné mají své úrovně viditelnosti a pravidla pro jejich perzistenci (např. proměnná vytvořená ve funkci nebo metodě je po jejím vykonání automaticky zrušena, naproti tomu, proměnná vytvořená např. v cyklu nebo vloženém souboru bude viditelná do skončení programu). Konstanty jsou viditelné ze všech úrovní a po jejich definování je nelze zrušit.
  • Od verze 4.2.0 lze hodnotu získat z tzv. superglobálních proměnných s garancí původu informace

8 of 17

2. PHP – POST vs. GET

  • Metody pro odesílání dat pomocí formulářů (<form></form>)
  • Metoda GET odešle data v adrese stránky
  • Metoda POST data odesílá v hlavičce HTTP požadavku a adresu stránky neovlivní.
  • U metody GET lze tedy serveru data předat kromě formuláře i vytvořením příslušného odkazu. Metoda GET je proto vhodná tam, kde je toto chování přínosné, například vyhledávání.
    • Např: http://mujweb.cz/stranka.php?promenna=hodnota
  • Metoda POST je vhodná v situacích, kdy je odesílání dat v adrese nežádoucí, jako například přihlašovací formulář (např. jednak je nevhodné, aby přihlašovací jméno a heslo bylo viditelné v adrese a jednak by návštěvník mohl někomu poslat odkaz se svými přihlašovacími údaji)

9 of 17

2. PHP - kontroverze

10 of 17

2. PHP – výhody a nevýhody

  • PHP je specializované na webové stránky
  • Rozsáhlý soubor funkcí v základní knihovně PHP (přes pět a půl tisíce)
  • Nativní podpora mnoha databázových systémů
  • Multiplatformnost (zejména Linux a Microsoft Windows)
  • Možnost využití nativních funkcí operačního systému (možná nekompatibilita s jiným OS)
  • Strmá křivka učení
  • Obrovská podpora na hostingových službách – PHP je fakticky standardem, který najdeme všude
  • Obrovské množství projektů a kódů, které lze zdarma využít (WordPress, phpBB a další)
  • Poměrně slušná dokumentace
  • Velmi svobodná licence, která (v protikladu k např. GPL) neobsahuje copyleft
  • Nekonzistentní pojmenování funkcí, např.:
    • např. strpos(), strchr(), ale str_replace(), str_pad()
    • Nejednotné názvosloví skupin funkcí, např.: mysql_XXXX, imap_XXXX, json_XXXX (s podtržítkem) versus imageXXXX, bcXXXX, gzXXXX (bez podtržítka)
  • Nejednotné pořadí parametrů, např.: array_map() vs. array_filter()
  • Ve standardní distribuci chybí ladicí nástroj
  • Obtížnější ladění aplikace oproti staticky typovaným jazykům
  • Po zpracování požadavku neudržuje kontext aplikace, vytváří jej vždy znovu (oslabuje výkon)

11 of 17

2. PHP – známá využití

Významné projekty napsané v PHP:

    • MediaWiki – software pro tvorbu webových projektů typu wiki, např. Wikipedie – této webové encyklopedie
    • phpBB – balík pro provoz webového fóra
    • WordPress – publikační systém pro provoz blogů a podobných aplikací
    • Adminer – webová aplikace pro správu databázového systému MySQL
    • phpMyAdmin – oblíbená webová aplikace pro správu databázového systému MySQL
    • Texy! – překladač intuitivní syntaxe pro formátování textu na HTML
    • Nette Framework – framework pro tvorbu webových aplikací v PHP
    • Facebook – rozsáhlá sociální síť je implementována v PHP

12 of 17

Praktické cvičení

  • Využití PHP pro webové projekty
    • Z podstaty PHP jako serverového jazyka nyní nevyužijeme Atom, ale tvoříme přímo v editoru na webzdarma.cz

Koncovka .php! -> index.html -> index.php

13 of 17

Tvorba jednoduché PHP kalkulačky

= VS. ==

14 of 17

Tvorba jednoduché PHP kalkulačky - výsledek

Praktická ukázka zde

15 of 17

Tvorba jednoduché PHP kalkulačky - řešení

16 of 17

Na doma

Nasaďte do svého semestrálního projektu PHP

Pro inspiraci:

17 of 17

mail@mjakl.cz

Tel. 608 544 839

Web: mjakl.cz

Telegram: t.me/mikimikimikia

Děkuji za pozornost a těším se příště!��Prostor pro zpětnou vazbu