1 / 38

PHP

PHP. Úvod do programování Kontaktní údaje: Ing. Antonín Skopec skopec@sks.cz. 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

stuart
Download Presentation

PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PHP • Úvod do programování Kontaktní údaje: • Ing. Antonín Skopec • skopec@sks.cz

  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í emailu 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, e-mailem 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 30.10. 2013 pošlete návrh své aplikace, rozsah A4 textu • do 20.11. 2013 pošlete e-mailem odkaz a soubory v zip • APLIKACE • do 18.1. 2014, odevzdat aplikaci • napsat dokumentaci • e-mailem 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 • www.php.net - oficiální stránky PHP • www.pcsvet.cz/php - programování v PHP • php.interval.cz - základy PHP • php.vrana.cz • www.kosek.cz • www.jakpsatweb.cz - kurz jazyka HTML a CSS

  9. Založení webu (příklad) • http://www.webzdarma.cz • 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 e-mail 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: http://www.pspad.com/cz

  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 • 1997 - PHP 3.0: vytvořili Andi Gutmans a Zeev Suraski. Původní zkratka dostává nový význam →„ 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ů

  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 • Webový server přečte požadavek prohlížeče • Nalezne stránku na serveru • Odešle stránku přes internet zpět prohlížeči • Prohlížeč interpretuje HTML kód a zobrazí webovou stránku Co se děje se stránkami psanými čistě v HTML kódu ?

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

  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 <?phpecho "ahoj"; ?> Další možnosti (nedoporučuje se použivat): a)<?echo "ahoj"; ?> b) <script language="php"> echo "ahoj"; </script> c) <%echo "ahoj"; %>

  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 • 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 <?php  // Text za dvojitým lomítkem je až do konce řádku ignorován...  # Druhý způsob komentáře na jeden řádek...  /*    Víceřádkový komentář.    Často se používá pro vyřazení bloku kódu PHP,    který momentálně nechceme použít.  */?>

  23. První příklad <?php phpinfo(); ?>

  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 <?php $Sirka = 640;$Vyska = 480;// Vkládání do HTML: ?> <img src="obrazek.png" width="<?php echo $Sirka; ?>" height="<?php echo $Vyska; ?>" alt="Obrázek"> <?php /* Generování celého HTML */ // Vypsání více parametrů:echo '<img src="obrazek.png" width="', $Sirka, '" height="', $Vyska, '" alt="Obrázek">'; // Spojování řetězců pomocí operátoru . (tečka):echo '<img src="obrazek.png" width="' . $Sirka . '" height="' . $Vyska . '" alt="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 verzi ', 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 <strong>".$narozen.“</strong> 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 – ‘ \ ’ \n nová řádka – obdoba tagu <br> v HTML \t tabulátor \” znak uvozovky – ‘ ” ’ \$ znak dolar – ‘ $ ’ $a=20; echo “V proměnné \$a je uložena hodnota$a”;

  32. Střídání uvozovek a apostrofů • <?php /* Apostrofy */  // echo 'I'd like to tell you: "You're the most interesting man I've ever met."';  // Toto by bylo špatně.  echo 'I\'d like to tell you: "You\'re the most interesting man I\'ve ever met."';  // Toto je správně.  /* Uvozovky */ // echo "I'd like to tell you: "You're the most interesting man I've ever met."";  // Toto by bylo špatně.  echo "I'd like to tell you: \"You're the most interesting man I've ever met.\""; // Toto je správně.?>

  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ém Sekvence 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ém Sekvence 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!!! <?php  echo 'řádek 1<br>\r\nřádek 2<br>\r\nřádek3'; /*    Vypíše \r\n literárně:    řádek 1<br>\r\nřádek 2<br>\r\nřádek3  */  echo "řádek 1<br>\r\nřádek 2<br>\r\nřádek 3";/*    Sekvence \r\n je převedena na odřádkování:    řádek 1<br>    řádek 2<br>    řádek 3  */?>

  35. Odřádkování pomocí konstanty • Lepší je definice pomocí konstanty <?php  define('NL', "\r\n");  echo 'řádek 1', NL;  echo 'řádek 2';  echo NL;  echo 'řádek 3';?>

  36. Výpis proměnné • Proměnnou vypisujeme pomocí příkazu echo(): $dolar="1$"; echo($dolar);echo("$dolar"); echo("mám jen" . $dolar . "<br />");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é • <?php  $Jmeno = 'Tereza';  echo 'Jmenuji se $Jmeno.';  // Vypíše: Jmenuji se $Jmeno.  echo "Jmenuji se $Jmeno.";  // Vypíše: Jmenuji se Tereza.?> • <?php $Jmeno = 'Tereza';  echo "Obsah proměnné \$Jmeno je $Jmeno"; // Vypíše: Obsah proměnné $Jmeno je Tereza // Poněkud lepší řešení:  echo 'Obsah proměnné $Jmeno je ', $Jmeno; ?> • 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

More Related