Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PHP  Úvod do programování Kontaktní údaje:  Ing. Antonín Skopec 

Podobné prezentace


Prezentace na téma: "PHP  Úvod do programování Kontaktní údaje:  Ing. Antonín Skopec "— Transkript prezentace:

1 PHP  Úvod do programování Kontaktní údaje:  Ing. Antonín Skopec 

2 Přehled  Seznámení se s programováním dynamicky generovaných webových stránek  Jazyk PHP - princip, syntaxe, typy, konstanty a proměnné, základní operátory a příkazy, implementované funkce  Obsluha formulářů a jeho prvků  Práce se soubory a složkami  Odesílání u ze skriptu PHP, HTTP hlavičky  Databázový server MySQL + správa dat v databázi  Spolupráce PHP s MySQL serverem  Praktické příklady  Práce na zvoleném projektu + závěrečná prezentace

3 Podmínky zápočtu/zkoušky  Seminární práce 75 bodů –prototyp 25 bodů –aplikace 50 bodů  Průběžné hodnocení a prezentace 25 bodů  CELKEM 100 BODŮ –minimálně polovina z každé části prototyp, aplikace, prezentace

4 Seminární práce, hodnocení  Vytvoření prototypu WWW aplikace (25) – –návrh, em nebo na papíře (10) – –návrh HTML stránky dle schváleného zadání (15)  Vytvoření aplikace (50) – –návrh databáze (10) – –Přihlašování, formulář s validací, administrace (10) – –Dynamický obsah (10) – –RSS výstup (10) – –Dokumentace (10)  Za každý započatý týden zpoždění oproti stanovenému termínu -5 bodů!

5 WWW aplikace  Vyberte si, jakou aplikaci chcete dělat. Musí obsahovat: –databázi, minimálně jedna vazba 1:N –přihlašování uživatelů –administrační rozhraní pro databázi, formuláře –RSS výstup

6 Příklady WWW aplikace  Databáze článků (časopis/vydání/článek)  Psi z útulku (útulky/lidé/psi)  Vhodné dárky (příležitosti/dárky/obchody)  Seznam www/obchodů (Kategorie/region/obchod)  vlastní návrh Aplikaci navrhněte jednoduchou, práce bude hodně!

7 Termíny  PROTOTYP  do pošlete návrh své aplikace, rozsah A4 textu  do pošlete em odkaz a soubory v zip  APLIKACE  do , odevzdat aplikaci  napsat dokumentaci  em poslat odkaz na aplikaci online a zdrojový kód v zip  ve zkouškovém období se dostavit k zápočtu  Pracujte na úkolu průběžně, nejlépe o cvičeních k tomu určených!

8 Odkazy  - oficiální stránky PHP  - programování v PHP  php.interval.cz - základy PHP  php.vrana.cz   - kurz jazyka HTML a CSS

9 Založení webu (příklad)   Registrace a provoz domény zdarma  Minimální zobrazování reklam  Podpora jazyka PHP a databáze MySQL  Správa databáze pomocí prostředku phpMyAdmin  Možnost odesílat pomocí PHP skriptu  Možnost uploadu stránek na server pomocí FTP protokolu

10 Doporučený editor PSPad  Freeware editor webových stránek  Domovská stránka:

11 Historie  PHP je skriptovací jazyk na straně serveru  1994 – Rasmus Lerdorf vytvořil kombinaci skriptů v Perlu pro sledování přístupu na vlastní web stránku, požadavky na zlepšení →„Personal Home Page tools“ později „Personal Home Page Construction Kit“  1995 – PHP/FI 2.0 : skriptovací jádro + analýza vstupu z formulářů + obsluha sql serveru  PHP 3.0: vytvořili Andi Gutmans a Zeev Suraski. Původní zkratka dostává nový význam →„ PHP: Hypertext Preprocessor“ →„ PHP: Hypertext Preprocessor“

12 Historie  2000 – PHP 4.0 : podpora pro mnoho WWW serverů, HTTP sessions, buffering výstupu, bezpečnější způsoby zpracování vstupů uživatele a nové jazykové konstrukty  2004 – PHP 5.0 : podpora objektově orientovaného programování

13 Proč PHP ANO?  Získávání dat z formulářů a práce s těmito daty  Dynamické generování stránek na základě získaných dat  Široká spolupráce s databázemi  Podpora protokolů HTTP, FTP, SMTP, POP3, atd.  Obsahuje knihovny funkcí pro práci s textovými řetězci, obrázky, datem a časem, soubory a složkami, aj.  Obsahuje knihovnu matematických funkcí  Skripty jsou prováděny na straně serveru - stažená stránka z www serveru tedy neobsahuje zdrojové kódy PHP skriptů.  Velmi svobodná licence

14 Proč PHP NE?  Interpretovaný ne kompilovaný jazyk  PHP skripty v textové podobě  Neexistuje kompletní definice, je popsána jen implementace  Nekonzistentní pojmenování funkcí  Nejednotné pořadí parametrů  Slabší podpora UNICODE

15 K čemu PHP?  Firemní prezentace  Podnikové informační systémy  Internetové obchody  Redakční systémy  Diskusní fóra  Dynamické osobní stránky  Webklienti pro poštu i db  Počitadla, ankety …

16 HTML 1.Webový server přečte požadavek prohlížeče Co se děje se stránkami psanými čistě v HTML kódu ? 2.Nalezne stránku na serveru 3.Odešle stránku přes internet zpět prohlížeči 4.Prohlížeč interpretuje HTML kód a zobrazí webovou stránku

17 PHP 1.Webový server přečte požadavek prohlížeče Co se děje se stránkami obsahujícími PHP kód ? 2.Nalezne stránku na serveru 3.Provede instrukce PHP pro modifikaci webové stránky 5.Prohlížeč interpretuje HTML kód a zobrazí webovou stránku 4.Odešle stránku přes internet zpět prohlížeči (čisté HTML)

18 Základy PHP  PHP kód se zapisuje v textovém tvaru  PHP interpret (běžícím na webovém serveru) kód překládá a posílá do klienta (prohlížeče) hotový html kód  skripty (podobně jako.asp) narozdíl od JavaScriptu provádí server  nezatěžuje vlastní počítač - náročný na komunikaci se serverem  př. webový server nejprve spočítá kolik je 300/30 a pak prohlížeči odešle jen výsledek tj. číslo 10

19 Základy syntaxe  N á zev souboru webov é str á nky stadnardně obsahuje př í ponu "php" nebo „ phtml “ (např. index.php) (! může mít jakoukoliv jinou, dle nastavení v konfiguračních souborech)  Začleněn í PHP skriptu do (X)HTML k ó du webov é str á nky Dal ší možnosti (nedoporučuje se použivat): a) a) b) echo "ahoj"; b) echo "ahoj"; c) c)

20 Základy syntaxe  PHP nerozlišuje u speciálních slov a funkcí velikost písmen: echo = Echo = eChO  U názvů funkcí to platí také: PHPInfo() = phpinfo()  Neplatí to u proměnných: $jmeno není to samé, co $Jmeno $jmeno není to samé, co $Jmeno  PHP ignoruje mezery, tabulátory a odřádkování, ty jsou pouze pro přehlednost v kódu  Nelze psát mezery do názvů funkcí, proměnných apod.

21 Základy syntaxe  Oddělení instrukcí

22 Základy syntaxe  Komentáře

23 První příklad

24 ECHO Příkaz echo slouží k výpisu:  jednotlivých textových znaků a řetězců  HTML kódu  konstant  obsahu proměnných Lze použít i funkci print()

25 ECHO příklady Obrázek

26 Konstanty  obsah se později ve skriptu nedá změnit  narozdíl od proměnných názvy konstant nezačínají znakem $, zvykem je psát názvy konstant velkými písmeny  PHP obsahuje i několik předdefinovaných konstant, například PHP_OS define('SPOLECNOST', ‚VOŠIS Praha'); define('PRODUKT', ‚Vyuka PHP'); define('VERZE', 2011); echo SPOLECNOST, ' představuje svůj nový produkt ', PRODUKT, ' ve ve rzi ', VERZE, '.';

27 Proměnné  Proměnné slouží k uchovávání hodnot, které lze během provádění skriptu měnit.  Proměnné začínají znakem $ (dolar), např. $soucet Pravidla pro název proměnné  V názvu proměnné nepoužívat diakritiku  PHP rozlišuje velká a malá písmena v názvu!!!  Název proměnné nesmí začínat číslicí nebo speciálními znaky, uvnitř názvu lze použit číslici (např. $promenna1).  $mojepromenna a $MojePromenna nejsou stejné!  jednopísmenné názvy ne! – po týdnu nevím, co je proměnná $d a $g ?  příliš dlouhé názvy ne! –snadněji se udělá chyba  sebepopisující názvy, jeden jazyk - četina bez hacku a carek - angličtina

28 Přiřazení hodnoty $promenna=2; $text_prom="Zdravím Vás"; Výpis hodnoty proměnné echo $promenna; echo "Toto je moje proměnná: $promenna"; echo "Je mi $narozen let."; echo "Je mi ".$narozen." let."; echo "Je mi ".$narozen.“ let.";

29 Jednoduché typy proměnných Typy proměnných: integer, double, string, boolean, array, object $a = 1; // $a je typ integer (celé číslo) $a = 1.5; // $a je typ double (desetinné číslo) $a = 1e-3; // $a je typ double ($a = 0.001) $a = “nějaký text”; // $a je znakový řetězec (také $a = “1”;) $a = TRUE; // $a logický typ “pravda” (FALSE - nepravda) Čísla lze zapisovat také v šestnáctkové soustavě: $a = 0xFF; // v $a bude uložena hodnota 255

30 String (řetězec)  Textové řetězce uzavíráme do uvozovek (“text”) nebo apostrofů (‘text’)  Spojování řetězců se provádí pomocí tečky: $jmeno =”Antonín”; $prijmeni =”Skopec”; echo “Zadali jste toto jméno: ”. $jmeno. “ ”. $prijmeni ;

31 Psaní speciálních znaků \\znak zpětné lomítko – ‘ \ ’ \nnová řádka – obdoba tagu v HTML \ttabulátor \”znak uvozovky – ‘ ” ’ \$znak dolar – ‘ $ ’ $a=20; echo “V proměnné \$a je uložena hodnota $a”;

32 Střídání uvozovek a apostrofů  

33 Odřádkování  v řetězci mezi apostrofy či uvozovkami můžete odřádkovat enterem, vše se promítne do HTML kódu Operační systémSekvence Windows\r\n Linux\n Mac OS\r  Místo odřádkování enterem uvnitř řetězce je však mnohdy lepší pro znak nového řádku v PHP použít danou escape sekvenci  POZOR, tato sekvence se převede na odřádkování pouze v případě, že je vypsána v uvozovkách!!!

34 Odřádkování pomocí sekvencí Operační systémSekvence Windows\r\n Linux\n Mac OS\r  POZOR, tato sekvence se převede na odřádkování pouze v případě, že je vypsána v uvozovkách!!! \r\nřádek 2 \r\nřádek3'; /* Vypíše \r\n literárně: řádek 1 \r\nřádek 2 \r\nřádek3 */ echo "řádek 1 \r\nřádek 2 \r\nřádek 3"; /* Sekvence \r\n je převedena na odřádkování: řádek 1 řádek 2 řádek 3 */ ?> \r\nřádek 2 \r\nřádek3'; /* Vypíše \r\n literárně: řádek 1 \r\nřádek 2 \r\nřádek3 */ echo "řádek 1 \r\nřádek 2 \r\nřádek 3"; /* Sekvence \r\n je převedena na odřádkování: řádek 1 řádek 2 řádek 3 */ ?>

35 Odřádkování pomocí konstanty  Lepší je definice pomocí konstanty

36 Výpis proměnné  Proměnnou vypisujeme pomocí příkazu echo(): $dolar="1$"; echo $dolar; echo "$dolar"; echo "mám jen". $dolar. " "; echo "nemám ani $dolar" ;  složitější, ale předejde se případným komplikacím: obyčejný text se píše do uvozovek a od proměnné odděluje tečkou

37 Expanze proměnné     První výskyt proměnné $Jmeno je uvozen zpětným lomítkem, takže se vypíše literárně "$Jmeno". Druhý výskyt již zpětným lomítkem uvozen není, takže je proměnná $Jmeno nahrazena svým obsahem. V tomto případě "Tereza".

38 Úkol  s použitím příkazů echo(), escape sekvencí a html tagů napište skript, který zobrazí v okně prohlížeče tento text:  každý řádek okomentujte


Stáhnout ppt "PHP  Úvod do programování Kontaktní údaje:  Ing. Antonín Skopec "

Podobné prezentace


Reklamy Google