Programovánà v PHP - 1.dÃl - Úvod
Programovací jazyk není vskutku jazyk z rodiny .Net. Ovšem používá se natolik Äasto, že si urÄitÄ› zaslouží pozornost i na tomto webu, aÅ¥ tÅ™eba kvůli tomu, že je v tomto jazyce napsán. V tomto úvodním díle si pÅ™edstavíme, co to jazyk PHP je a naprogramujeme si tradiÄní hello world.
O jazyku
O tomto pouze krátce. PHP je tedy skriptovací jazyk pro tvorbu dynamických webových stránek. Vznikl nÄ›kdy v roce 1994. Používá syntaxi jazyka C, díky Äemuž je také oblíben u mnoha programátorů jen kvůli C-like syntaxi. Pro bÄ›h jazyka je potÅ™eba nainstalovaný Apache, ovšem pokud spouštíte PHP na vlastním poÄítaÄi, používají se vÄ›tšinou pÅ™ipravené balíÄky, které zahrnují dále napÅ™. databázi MySQL apod.
Jazyk PHP je interpretovaný, což znamená, že se nekompiluje. To znamená, že staÄí stránky vytvoÅ™it napÅ™. v notepadu, nahrát na nÄ›jaký server podporující PHP a aplikace poběží bez jakýchkoli pÅ™edchozích pÅ™ekladů.
Jak to funguje
Dynamické zobrazování na stránkách funguje následovnÄ›. Uživatel provede na stránce nÄ›jakou akci (napÅ™. klikne na tlaÄítko). Na serveru se na základÄ› toho nÄ›jak upraví výsledná HTML stránka a celá se potom zašle pÄ›t klientovi. Zde je patrný rozdíl mezi serverovými a klientskými scripty. Klientské scripty (napÅ™. Javascript) totiž probíhají pouze na stranÄ› klienta. Výsledek takovýchto scriptů vidí pouze uživatel ve svém prohlížeÄi. PrávÄ› díky tomu nelze s pomocí Javascriptu napÅ™. mÄ›nit soubor, Äi pÅ™istupovat do databáze.
Co budu potřebovat
Snažím se veškeré informace psát tak, aby byli pochopitelné prakticky pro každého, ale jsou i jisté hranice. ÄŒtenáÅ™ by mÄ›l na dobré úrovni ovládat jazyk HTML, CSS a výhodou je napÅ™. Javascript. Pokud nemáte jiné pÅ™edchozí znalosti programovacích jazyků, nevadí, programování se bude právÄ› zde vysvÄ›tlovat, ovšem pokud jste pracovali napÅ™. s jazykem C, tak máte půlku cesty v kapse.
Abychom mohli PHP skripty spustit na našem PC, potÅ™ebujeme mít nainstalované Apache (nebo jiný HTTP server, ale tento je nejÄastÄ›jší) a podporu pro PHP na tomto serveru. Mnohem ÄastÄ›ji se ovšem využívá již vytvoÅ™ených balíÄků, které vám kromÄ› serveru nainstalují i další potÅ™ebné vÄ›ci a nemusíte se o další starat. OsobnÄ› doporuÄuji balíÄek XAMPP - http://www.apachefriends.org/en/xampp.html. Potom budeme naše soubory s PHP scripty umisÅ¥ovat do C:/xampphtdocs/. Spustit je budete moci pomocí jakéhokoli webového prohlížeÄe pÅ™i zadání adresy http://localhost/.
S chutí do toho
PÅ™i programování aplikací v jazyce PHP si bez vÄ›tších problémů vystaÄíme s obyÄejným poznámkovým blokem v operaÄním systému Windows. Ovšem existuje Å™ada speciálních editrů, které dokáží velice zpÅ™ehlednit zrdojový kód, tzv. zvýrazňovat syntaxi. Jeden z velice dobrých editorů je PSPad. Je to editor, který umí pracovat s velkou spoustou formátů a navíc je zdarma. Dále již obsahuje napÅ™. vestavÄ›ný FTP klient a mnoho dalších.
Jak jsme již Å™ekli, zdrojové kódy se nekompilují, Äili není tÅ™eba žádných pÅ™ekladaÄů a soubor, jak se vytvoÅ™í, tak se i publikuje na webový prostor. Stránky obsahující PHP scripty se musí ukládat s pÅ™íponou .php (Äi .php3, .php4, .php5 a možná ještÄ› další).
PÅ™i používání jazyka PHP se vyhází ze základní HTML stránky. VytvoÅ™íme si základní strukturu stránky v HTML. Scripty PHP se potom vkládají jako kusy kódu mezi tagy <?php a ?> pÅ™ímo do stránky. Jak to tedy potom vypadá :
<p>NÄ›jaký kus <strong>HTML</strong></p> <?php // a nÄ›jaký kód PHP ?> <p>a opÄ›t HTML kód</p>
V této chvíli ovšem pÅ™ichází jeden problém. Jelikož si PHP můžeme vložit prakticky kamkoli, můžu vznikat tzv. spaghetti code. To je kód, který je nacpán do jednoho souboru hlava nehlava a navíc se míchá vzhled s daty a je to celkovÄ› nepÅ™ehledné. Postupem tohoto seriálu se vás budu pokoušet vést k tomu, abyste takovýto kód nevytváÅ™eli.
Funkce
Funkcemi se budeme zaobírat sice až v pozdÄ›jších dílech, ovšem svou pozornost si zaslouží již zde. Protože je PHP jazyk původnÄ› procedurální (tj. využívá procedury a funkce), veškeré procesy na stránce se vÄ›tšinou Å™ídí funkcemi. Už je obyÄejný vstup se Å™ídí, pro nás nyní zásadní, funkcí echo(). Co to funkce vlastnÄ› je? Funkce je soubor pÅ™íkazů, které jako celek vykonávají nÄ›jakou funkci, nebo vrací nÄ›jaký výsledek .(POZN.: Funkci, která nevrací výsledek se Å™íká procedura.)
Funkce dále může mít nÄ›jaké parametry (nebo se oznaÄují jako argumenty, nebo jednoduše promÄ›nné ve funkci). To jsou nÄ›jaké hodnoty, se kterými funkce bude pracovat, aby mohla vrátit požadovaný výsledek. Tyto argumenty se zapisují do závorky za název funkce. Funguje to podobnÄ› jako v matematice, pÅ™edstavme si, že máme funkce f(x) = 3x + 2. Pokud za x dosazujeme hodnoty dostáváme potom lineární funkci s hodnotami napÅ™. f(2) = 8; f(3) = 11; f (4) = 14 atp. V programovné funkci můžeme tÄ›chto paramtrů mít i více. Potom se tyto parametry oddÄ›lují Äárkou. Nezpomeňme, že na konci musí být stÅ™edník (;), ostatnÄ› jako za každým pÅ™íkazem v jazyce PHP.
[název funkce]([argument], [argument], ...);
Hello world
Nyní k samotné funkce echo. Funkce echo() vypíše do stránky text, který zadáte jako argument mezi závorky. Text je vždy typu string (sekvence znaků) a tento text se vždy musí zapisovat mezi uvozovky. Pro vypsání klasického hesla Hello world bychom tedy použili následující kód :
<?php echo("Hello world"); ?>
A ještÄ› jednou, co že se to vlastnÄ› stalo? Na serveru se zjistilo, že ve stránce jsou php scripty. Narazilo se na funkci echo() a tato funkce se provedla. No a v místÄ›, kde jsme umístili PHP script se tedy vypsal i text Hello world.
Procedurální nebo objektový
Výše jsme zmínil, že je PHP procedurální jazyk, ovšem nÄ›kdo by mohl Å™ící, že je to jazyk objektovÄ› orientovaný. Oba výroky jsou pravdivé. Jazyk PHP je totiž původnÄ› strukturovÄ› orientovaný, ovšem postupem vývoje mu byly vytvoÅ™eny i objektové moduly, takže lze využívat i objektovÄ› orientovaného programování.
A co, že to je ?
Strukturovaný jazyk je takový, který využívá funkcí a procedur. ObjektovÄ› orientovaný jazyk je zase takový, který za základ bere objekt. Tento pomyslný objekt má potom svoje vlastní funkce (v této terminologii metody, ovšem je to takÅ™ka totéž), vlastnosti atd.
ZávÄ›r
To je k tomuto dílu vše. Můžete si vyzkoušet kombinovat HTML a PHP. Dále zformátovat texty vypsané pomocí funkce echo, nebo celou stránku generovat pomocí PHP. V dalším díle tohoto seriálu si Å™ekneme nÄ›co o promÄ›nných a vytvoÅ™íme si první webovou aplikaci.