1.16k likes | 1.37k Views
Základy programování v PHP. RNDr. Pavel Vlach, Ph.D. PHP – k čemu to je?. skriptovací jazyk pro tvorbu dynamického webu internetové obchody podnikové informační systémy (ať už intranetové nebo internetové) diskusní fóra redakční systémy firemní prezentace dynamické osobní stránky
E N D
Základy programování v PHP RNDr. Pavel Vlach, Ph.D.
PHP – k čemu to je? • skriptovací jazyk pro tvorbu dynamického webu • internetové obchody • podnikové informační systémy (ať už intranetové nebo internetové) • diskusní fóra • redakční systémy • firemní prezentace • dynamické osobní stránky • weboví poštovní či databázoví klienti • vyhledávače a katalogy • drobnosti typu počitadla, ankety a mnoho dalších
Jak to funguje? • 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 300/30 a pak prohlížeči odešle jen číslo 10
Co se naučíme? • syntaxi a základy jazyka PHP • používání proměnných a různých datových typů • větvení programů a cykly • práce se soubory • zpracování formulářových dat • spolupráce s MySQL • příklady • diskuzní fórum • základy redakčních systémů • on-line přihlašovací formulář
Co budeme potřebovat? • kompetence v oblasti tvorby HTML stránek • webový server (Apache s technologií PHP) • textový procesor (PSPad, Pozn. blok) • hodně času a chuti
1. princip funkce PHP historie PHP a html ještě jednou jak to funguje b) jak se to spojí s html
Historie a skriptovací jazyky • první stránky statické – nereagovaly, nebyly interaktivní • dynamické stránky - reagují na tlačítka a myš, zpracovávají data zadávaná uživatelem, zobrazované informace se mění apod. • dynamické stránky lze rozdělit do dvou skupin: • klientské • serverové
klientské scriptovací jazyky • Spolu s HTML stránkou je prohlížeči odeslán i programový kód a ten je ve vhodnou chvíli na "cílovém" počítači spuštěn • při kliknutí na tlačítko, při najetí myší na odkaz, při otevření okna prohlížeče a podobně • O spuštění klientského kódu se stará prohlížeč - a to může být nevýhoda - musí znát programovací jazyk • JavaScript
serverové scriptovací jazyky • prohlížeč požaduje webovou stránku ze serveru - server tuto stránku nejprve sestaví a pak odešle • Servery sestavují pokaždé jinou stránku v závislosti na tom, co přesně prohlížeč požaduje • php, asp
Jak vypadá php script? • obsahuje jednak kusy normálního HTML kódu, a jednak kusy programového kódu. Když webový server obdrží požadavek na zpracování takového skriptu, vezme: • kusy HTML kódu tak, jak jsou • části PHP programového kódu provede • výsledek zkombinuje a odešle prohlížeči • Server totiž výsledek posílá do prohlížeče jako obyčejnou HTML stránku • zapsaný kód v editoru vypadá jinak než po zobrazení „zdrojového kódu“ v prohlížeči
ukázka zápisu prosté html stránky • prostý html zápis (bez validní struktury, ale v prholížeči tento zápis „projde“)
ukázka zápisu se včleněným php kódem • zápis kódu v editoru • zobrazení prohlížeči • výpis zdrojového kódu v prohlížeči • všimněte si adresy v okně prohlížeče adresa
Jak to, že se liší kód v editoru a kód v prohlížeči? • Prohlížeč „neví“, co všechno se na serveru dělo než mu byl výstup odeslán • prohlížeč (a tedy i ten, kdo si chce přečíst kód v pohlížeči) vidí jen samotný výsledek • na serveru se mohla dít celá řada věcí: • matematické výpočty • přístupy k databázím • formátování • operace s řetězci a další taškařice
závěrečné shrnutí • skript musí být "prohnán" serverem • otevřením v textovém editoru nebo si ho prohlédnete jako soubor na disku, neuvidíte výsledek, ale zdrojový kód skriptu • plést se může zejména tehdy, když máte PHP skript na vlastním počítači - PHP soubor proženete serverem tak, že se na něj zeptáte prohlížeče pomocí adresy url. Například pomocí http://localhost/skript.php
závěrečné shrnutí 2. PHP skripty nejsou závislé na prohlížeči 3. integrace PHP do html pomocí speciálních značek: - celý soubor může být jeden dlouhý PHP kód. - kód PHP je na jednom určitém místě - v souboru je více místo obsahující PHP kód - soubor se tváří jako php skript, ale ve skutečnosti je to normální HTML soubor a PHP kód v něm vůbec není 4. výsledkem PHP skriptu je normální HTML stránka – nepouštějte se do práce v PHP, pokud alespoň zběžně neznáte HTML 5. k dispozici musí být webový server
doporučená literatura • Jiří KosekPHPtvorba interaktivních internetových aplikacíGrada Publishing 1999, 492 stranISBN 80-7169-373-1 • stará, ale dobrá • různé webové kurzy • www.php.net
webový server a jeho instalace apache php mySQL
jak na instalaci? • instalace a přená konfigurace webového serveru Apache a následně spuštění technologií php a mySQL může být velmi obtížná • pro začátek (v rámci celého kurzu vystačíme) lze nainstalovat celý balíček výše zmíněných serverů a aplikací • odkazy na 3v1 instalace: www.kosek.cz www.linuxsoft.cz
Vertrigo server • stabilní, většinou bezproblémová instalace • nabízí Apache, PHP4 a mySQL • možnosti konfigurace v rozbalovací liště • první volba umožňuje restart a vypnutí serveru • v liště Tools je k dispozici phpMyAdmin • Settings umožňují základní konfiguraci
Úkol • na ploše je umístěn zástupce serveru Vertrigo • spusťte jej a pozorujte změny na panelu nástrojů • spusťte konfigurační program
Vertrigo server • pro naše účely stačí základní konfigurace • složka, ve které budou interpretovány php scripty má tuto cestu: C:/Program Files/VertrigoServ/www • v prohlížeči se příslušný soubor zobrazí, pokud zadáte: http://localhost/ příklad: C:/Program Files/VertrigoServ/www/zdroje/pokus.php bude interpretován v prohlížeči pokud zadáte: http://localhost/zdroje/pokus.php
základní syntaxe jazyka php implementace php do html syntaxe komentáře
vložení php do html • tři způsoby vložení php scriptu <? [PHP kód] ?> <?php [PHP kód] ?> <SCRIPT LANGUAGE="php"> php [PHP kód] </SCRIPT> • doporučuji druhý způsob • budeme používat první způsob
syntaxe php • všechny datové struktury • příkazy • deklarace • funkce • musí být odděleny středníkem • pokud se objeví při zobrazení stránky chyba Parse Error, většinou někde chybí středník • nezáleží na počtu mezer nebo řádek za středníkem
syntaxe php • tohle hlásí chybu • tohle funguje
komentáře • komentáře jsou úseky kódu, které server ani prohlížeč nezobrazuje, resp. nezpracovává • slouží ke zvýšení přehlednosti kódu • naučme se je používat hned, později to bude automatické • u rozsáhlejších programů nezbytnou podmínkou
komentáře • jednořádkový komentář začíná dojicí znaků // (lomítko) nebo znakem # (Alt Gr+X) • dvouřádkový komentář začíná /* (lomítko, hvězdička) a končí opačně, tj. */
výpis na obrazovku echo (); print(); formátování a escape sekvence
echo (); • tento příkaz vypíše obsah proměnné, řetězec, číslo, html tag…. • možné zápisy: echo (“Hello world“); echo ($promenna); echo (“<strong>odstavec</strong>“);
echo – „zlobivé“ znaky • zvláštní formátování mají znaky “, \, <, $ • před nimi se používá znaku \ • používá se hlavně při formátování html tagů • těmto znakům se říká „escape sekvence“
úkol • s použitím příkazu echo(), escape sekvencí a html tagů <div> <strong> <em> <a> <h2> • napište v PSPadu php script, který zobrazí v okně prohlížeče tento text: • výsledek uložte do vaší složky
proměnné druhy proměnných datové typy operátory
proměnná • programovací jazyk pracuje s hodnotami • hodnoty se ukládají do proměnných • proměnná má: • název (uvozený znakem $) • hodnotou • hodnota proměnné v programu jednoznačně daná • během programu se však může měnit
typy proměnných • php automaticky po přiřazení hodnoty vybere vhodný datový typ $zapnuto=true //typ boolean $nazev=“aleš“ //typ string
proměnné typy a triky • jednopísmenné názvy ne – po týdnu nevím, co je proměnná $d a $g ? • příliš dlouhé názvy také ne – zápis jde a snadněji se udělá chyba • používejte sebepopisující názvy, jeden jazyk • četina bez hacku a carek • angličtina • používejte velbloudí notaci – pro přehlednost vkládejte do názvu proměnné velká písmena: $PopisTabulky $FindCursorPosition $MoveCursor
operátory • běžné operátory • podobná syntaxe jako v jazyce C++ • řetězce spojujeme pomocí tečky (.)
úkol • vytvořte script, který bude kombinovat příkaz echo a proměnné různých typů • proveďte různé operace s proměnnými, spojujte řetězce atd. • výsledek uložte do vaší složky
větvení programu typy podmínek
if …. else • struktura if (výraz, podmínka) { …….. } if (výraz, podmínka) { …….. } else { ……. } if (výraz, podmínka) { …….. } else if { ……. } else { ……. } • v závorce se testuje proměnná typu boolean nebo jakýkoliv výraz pomocí porovnávacích operátorů
podmínky - tipy a triky • bez podmínek se neobejdete. Naučte se je. Z hlavy.příkaz v některé větvi podmínky může být zase podmínka. Vnořené podmínky jsou někdy potřeba, ale mohou pěkně znepřehlednit kód. • Zvažte použití větve else v podmínce vždy, když si nejste absolutně jisti, že větve elseif pokrývají všechny alternativy. • Formátujte kód tak, abyste se v něm vyznali • KOMENTUJTE. Podmínky mohou být složité a za půl roku, když budete potřebovat skript oprášit už nebudete vědět, proč jste je psali.