Upozornění pro čtenáře a uživatele této knihy

Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena v papírové, elektronické či jiné podobě bez předchozího písemného souhlasu nakladatele. Neoprávněné užití této knihy bude trestně stíháno.

PHP 6

začínáme programovat

David Procházka

Vydala Grada Publishing, a.s.

U Průhonu 22, Praha 7

jako svou 4640. publikaci

Odpovědný redaktor Pavel Němeček

Sazba Tomáš Brejcha

Počet stran 192

První vydání, Praha 2012

© Grada Publishing, a.s., 2012

V knize použité názvy programových produktů, firem apod. mohou být ochrannými

známkami nebo registrovanými ochrannými známkami příslušných vlastníků.

Vytiskly Tiskárny Havlíčkův Brod, a. s.

Husova ulice 1881, Havlíčkův Brod

ISBN 978-80-247-3899-4 (tištěná verze)

ISBN 978-80-247-7578-4 (elektronická verze ve formátu PDF)

ISBN 978-80-247-7579-1 (elektronická verze ve formátu EPUB)

Úvod

K vývoji moderních webových stránek se v dnešní době využívají ponejvíce technologie XHTML a CSS. S těmito technologiemi si vystačíte pouze do doby, kdy vyvíjíte statické webové stránky. Pokud potřebujete zavést do stránek dynamiku nebo vytvořit funkční webovou aplikaci či webový portál, pak nutně potřebujete technologii, která vašim stránkám vdechne život.

Jednou možností je sáhnout po platformě společnosti Microsoft v podobě stránek oživených technologií ASP.NET. Pro tuto technologii ale jen těžko seženete levný webhosting, a navíc budete potřebovat sofistikované vývojové nástroje s kompilací zdrojových kódů. Druhou možností je sáhnout po mnohem podporovanější platformě na bázi PHP. A právě o této masově využívané platformě pojednává tato publikace.

Základní tvorba WWW stránek není programování v pravém slova smyslu, ale spíše kódování, tedy soupis obsahu stránky způsobem, který dokáže internetový prohlížeč jednoduše dekódovat. Ale pro programátora technologie PHP je zvládnutí skriptovacího jazyka (X)HTML s aplikací kaskádových CSS stylů naprostou nutností. Pomocí kombinace těchto dvou technologií jste schopni zpracovat prakticky jakékoli běžné webové stránky.

Stránky lze poměrně snadno doplnit o JavaScript, který jim dodá vyšší dynamiku. Dalším logickým krokem je zapojení technologie PHP, která dokáže provádět výkonné operace nad daty a pracovat s databází. Stránky, které využívají tuto technologii, jsou nazývány dynamické, neboť se mohou co do obsahu v čase měnit, bez ohledu na to, jak je nastaven jejich vzhled.

Tato publikace vás provede základními principy internetu a elementárními základy tvorby HTML stránek. Dále se bude publikace věnovat strukturálnímu i objektovému modelu programování v PHP se zapojením databáze MySQL Dozvíte se nejen informace o vývoji stránek, ale dostanete kompletní studijní materiál, který vás provede tvorbou webu, programováním základních aplikací a dá vám cenné informace z praxe. Při výkladu PHP kódu se pokouším neustále předvádět nové informace na příkladech, a preferuji tak v celé knize praktické příklady nad zbytečně obsáhlou teorií.

Veškeré zdrojové kódy, uvedené v této knize, si můžete stáhnout z webových stránek www.grada.cz nebo z adresy www.davidprochazka.cz. Díky tomu si vyzkoušíte všechny příklady bez náročného přepisování.

O autorovi

David Procházka je vývojář specializovaných a průmyslových aplikací ve společnosti VÍTKOVICE IT SOLUTIONS a.s., která spadá do skupiny VÍTKOVICE MACHINERY GROUP. V rámci své pracovní náplně pracuje s databázemi Oracle, MSSQL, Firebird a MySQL. Dále spravuje holdingový intranet a webové prezentace více než čtyřiceti dceřiných společností holdingu. V poslední době se zabývá vedením týmu programátorů nad produktem Microsoft Sharepoint. Autor absolvoval řadu školení, je držitelem certifikátů a účastní se meetingů v oblasti databází a programování. Mimo tuto činnost je také autorem několika odborných publikací a stovek článků v IT magazínech a na internetu.

1.

Internet azákladní pojmy

První kapitola této publikace shrnuje základní informace ointernetu, jeho historii, vývoji azejména otechnologiích, které se vsouvislosti svytvářením dynamických webových aplikací nejčastěji skloňují. Dozvíte se vní zejména základní standardy internetu awebových stránek. Nebudeme ale zabíhat do přílišných podrobností, které se základů tvorby netýkají. Tato kapitola je tedy jakýsi odrazový můstek pro zvládnutí vlastní tvorby webu. Dozvíte se zde, jak si můžete vytvořit testovací prostředí pro vývoj stránek, jak se stránky na internet umisťují ajak probíhá registrace vlastní WWW adresy. Vedruhé části kapitoly se dočtete také onástrojích aprogramech, které jsou pro tvorbu stránek aPHP aplikací doporučené, avneposlední řadě si stanovíme určité principy, které budeme vknize dodržovat.

1.1 Několik slov ointernetu

Internet je velmi rozsáhlá počítačová síť, jejíž hierarchie se řídí určitými pravidly. Vminulosti byl výsadou akademických avědeckých pracovníků, běžní uživatelé se kjeho obsahu dostali jen výjimečně. Dnes jej používají děti, studenti, rodiny, důchodci, prostě všichni, kteří chtějí informovat abýt informováni. Nemalé procento uživatelů internetu tvoří lidé, kteří chtějí komunikovat, přičemž internet jim poskytuje levnou apohodlnou cestu ke spojení scelým světem.

Obrázek 1.1: Díky internetu jste spojeni scelým světem

1.1.1 Co je to internet

Internet je celosvětová počítačová síť, která spojuje jednotlivé menší sítě, pomocí sady protokolů zvaných IP (Internet Protocol). Pro upřesnění, protokolem je vpočítačové terminologii myšlena soustava pravidel– obvykle tedy norma komunikace.

Název internet pochází zanglického jazyka, ze slova network (síť), podle něhož končily tradičně názvy amerických počítačových sítí– například Arpanet, amezinárodní (původně latinské) předpony inter (mezi), vyjadřující, že internet propojil avstřebal různé starší, dílčí, specializované, proprietární alokální sítě. Historie internetu je velice košatá avydala by na samostatnou odbornou publikaci, proto se oní zmíníme jen krátce.

Počátky internetu započaly umyšlenky vytvoření počítačové sítě, která by spolehlivě propojila strategické, vojenské, vládní aakademické počítače tak, aby zároveň dokázala přežít jaderný úder či jiné hrozby. Zájmem tvůrců bylo také to, aby síť byla co nejméně zranitelná. Byla navržena bez hlavního řídicího centra. Skládala se zřady vzájemně propojených uzlů rovnocenné důležitosti. Posílaná data se na dobu přenosu rozdělí na několik samostatných částí nazývaných pakety.

Každý zpaketů je vybaven údajem oadresátovi, atvoří tak de facto autonomní zásilku, která cestuje kcíli samostatně, svou vlastní cestou, nezávisle na ostatních paketech. Vpřípadě zničení jedné zpřenosových cest může paket bez problémů dojít kadresátovi alternativní cestou– přes zbývající zachovalé uzly. Ato je vlastně základ koncepce internetu, jak ji známe dodnes.

Obrázek 1.2: Na internet se připojují lidé zrůzných končin Země

1.1.2 Důležité mezníky ve vývoji internetu

Vobdobí vývoje internetu od roku 1969 až po současnost docházelo kbouřlivému vývoji, technologickému postupu aaplikaci řady nových technologií. Uveďme si nyní výběr jen těch nejdůležitějších okamžiků.

1969 – vytvořena experimentální síť ARPANET, první pokusy spřepojováním uzlů

1972 – Ray Tomlinson vyvíjí první emailovou aplikaci

1980 – experimentální provoz protokolu TCP/IP vsíti ARPANET

1984 – vyvinut DNS (Domain Name System)

1987 – vzniká označení sítě jako internet

1990 – končí ARPANET

1991 – nasazení WWW (World Wide Web) vevropské laboratoři CERN

1994 – internet přechází zrukou vědců do komerčního užití

1996 – překonáno 55 milionů uživatelů na světě

2000 – 250 milionů uživatelů

2006 – více než miliarda uživatelů

Obrázek 1.3: Arpanet začínal vdobě sálových počítačů

1.1.3 Internetový protokol TCP/IP

Protokolová struktura TCP/IP je definována jako sada protokolů pro komunikaci vpočítačové síti, jež se využívá zejména na internetu, ale také vběžných počítačových sítích. Jde vlastně okomunikační protokol, což je množina pravidel, které určují podobu avýznam jednotlivých zpráv při komunikaci. Vzhledem ke složitosti problémů je síťová komunikace rozdělena do tzv. vrstev, které znázorňují hierarchii činností. Výměna informací mezi vrstvami je přesně definována.

Každá vrstva využívá služeb vrstvy nižší aposkytuje své služby vrstvě vyšší. Celkový význam zkratky TCP/IP je Transmission Control Protocol/Internet Protocol. Komunikace mezi stejnými vrstvami dvou různých systémů je řízena komunikačním protokolem za použití spojení vytvořeného sousední nižší vrstvou. Architektura umožňuje možnost výměny protokolů jedné vrstvy bez dopadu na ostatní. Architektura TCP/IP je členěna do čtyř vrstev (na rozdíl od referenčního modelu ISO/OSI se sedmi vrstvami): aplikační vrstva (application layer), transportní vrstva (transport layer), síťová vrstva (network layer) avrstva síťového rozhraní (network interface).

Obrázek 1.4: Sedm vrstev modelu ISO/OSI

Protokol TCP

TCP protokol (Transmission Control Protocol) je jeden ze základních ze sady protokolů internetu, typicky představuje transportní vrstvu komunikace. Použitím TCP protokolu mohou aplikace na počítačích zapojených do počítačové sítě vytvořit mezi sebou spojení, přes které lze přenášet data. Protokol garantuje spolehlivé doručování adoručování ve správném pořadí. TCP také rozlišuje data pro vícenásobné, současně běžící aplikace (například webový server aemailový server) běžící na stejném počítači. TCP podporuje mnoho na internetu populárních aplikačních protokolů aaplikací, včetně WWW, elektronické pošty aSSH (Secure Shell).

Protokol IP

IP protokol (Internet Protocol) je datový protokol používaný pro přenos dat přes paketové sítě. Data se pomocí IP posílají síti po blocích nazývaných datagramy (jedná se onázev pro datový paket specifický pro prostředí protokolu IP). Jednotlivé datagramy putují sítí zcela nezávisle, na začátku komunikace není potřeba navazovat spojení či jinak předpřipravovat cestu datům, přestože spolu třeba příslušné stroje nikdy předtím nekomunikovaly. IP protokol vdoručování datagramů poskytuje nespolehlivou službu, označuje se také jako služba nejlepšího úsilí; tj. všechny stroje na trase se datagram snaží podle svých možností poslat blíže kcíli, ale nezaručují praktické doručení do cíle. Datagram vůbec nemusí dorazit, může být naopak doručen několikrát aIP protokol neručí ani za pořadí doručených datagramů.

1.1.4 Identifikace počítačů vinternetu

Kterékoli síťové rozhraní komunikující prostřednictvím protokolu IP má přiřazeno jednoznačný identifikátor, tzv. IP adresu. IP adresa je vrámci internetu zásadní věcí aje dobré vědět, co IP znamená. Vkaždém datagramu je pak uvedena IP adresa odesilatele ipříjemce. Na základě IP adresy příjemce pak každý počítač na trase provádí rozhodnutí, jakým směrem paket odeslat, tzv. směrování (routing). To mají na starosti zejména specializované stroje označované jako směrovače (routery). Pro snadnou orientaci byl zaveden systém pojmenování domén, tzv. DNS. Doménová jména se vtomto systému překládají na IP adresy anaopak. Použitelnost je mnohem lepší, uživatelé si nemusejí pamatovat dlouhá čísla, pamatují si názvy.

Domény

Domény jsou vlastně IP adresy převedené na text. Jméno počítače se skládá zdomén oddělených tečkou, např. http://mail.volny.cz. Doména nejvyšší úrovně je vpravo (cz), doména druhé úrovně je vlevo od ní (volny), určuje název organizace, 3. úroveň určuje název počítače vrámci organizace apod. Doména první úrovně určuje skupinu podle země nebo kategorie (cz– Česká republika, us– USA, com– komerční organizace, edu– vzdělávací instituce, gov– vládní stránky, mil– vojenské stránky atd.).

Obrázek 1.5: Zápis www adresy do prohlížeče internetu

Různé verze IP adres

Každý počítač připojený kinternetu má svoji IP adresu. Donedávna platilo, že IP adresa je 32bitové číslo aže se uvádí jako čtyři desítková čísla vrozmezí 0–255 oddělená tečkou– např. 192.168.1.1. Tato informace je stále pravdivá, ale jelikož postupem času došlo kvyčerpání adresního rozsahu, který tvořil počet 2^32 = 4294967296, bylo nutno zavést další verzi IP protokolu. Prvotní astále využívaná verze má označení IPv4, novější pak IPv6. Tato verze má kromě jiného adresy 128bitové, které poskytují větší adresní prostor než 32bitové adresy vIPv4. Vpraxi je užití modernizované verze IP protokolu méně praktické, protože adresy obsahují také šestnáctkové hodnoty– typická IP adresa je tak vIPv6 například takováto– 2001:0db8:0:0:0:0:1428:57ab.

Obrázek 1.6: IP adresa identifikuje každý jednotlivý počítač vinternetu

MAC adresa síťové karty

Drtivá většina počítačů je do internetu připojena pomocí síťové karty. Je to zařízení, do kterého zapojíte síťový (UTP) kabel zmodemu nebo směrovače. Každá síťová karta má tzv. MAC adresu. MAC adresa (zanglického „Media Access Control“) je jedinečný identifikátor síťového zařízení, který používají různé protokoly druhé (spojové) vrstvy OSI. Je přiřazována síťové kartě bezprostředně při její výrobě aje jakýmsi jedinečným rodným číslem. MAC adresa přidělená výrobcem je vždy celosvětově jedinečná. Zhlediska přidělování je rozdělena na dvě poloviny. Oprvní polovinu musí výrobce požádat centrálního správce adresního prostoru aje uvšech karet daného výrobce stejná (či alespoň velké skupiny karet, velcí výrobci mají kdispozici několik hodnot pro první polovinu). Výrobce pak každé vyrobené kartě či zařízení přiřazuje jedinečnou hodnotu druhé poloviny adresy. MAC adresa může mít třeba takovýto tvar: 00-11-09-95-26-FE.

Obrázek 1.7: Serverová síťová karta sjedinečnou MAC adresou

1.1.5 Protokol HTTP– hypertext

HTTP (Hyper Text Transfer Protocol) je internetový protokol určený původně pro výměnu hypertextových dokumentů ve formátu HTML (HyperText Markup Language). Tento protokol je spolu selektronickou poštou tím nejvíce používaným azasloužil se oobrovský rozmach internetu vposledních letech. HTTP používá jako některé další aplikace tzv. jednotný lokátor prostředků URL (Uniform Resource Locator), který specifikuje jednoznačné umístění nějakého zdroje vinternetu. Kprotokolu HTTP existuje také jeho bezpečnější verze označovaná jako HTTPS, která umožňuje přenášená data šifrovat, atím chránit před odposlechem či jiným narušením. Protokol funguje způsobem dotaz-odpověď. Uživatel (pomocí programu, obvykle internetového prohlížeče) pošle serveru dotaz ve formě čistého textu, obsahujícího označení požadovaného dokumentu, informace oschopnostech prohlížeče apod. Server poté odpoví pomocí několika řádků textu popisujících výsledek dotazu (zda se dokument podařilo najít, jakého typu dokument je atd.), za kterými následují data samotného požadovaného dokumentu.

1.1.6 WWW abrouzdání

World Wide Web (WWW, také pouze zkráceně web), ve volném překladu celosvětová pavučina, je označení pro aplikace internetového protokolu HTTP. Je tím myšlena soustava propojených hypertextových dokumentů. Včeštině se slovo web často používá nejen pro označení celosvětové sítě dokumentů, ale také pro označení jednotlivé soustavy dokumentů dostupných na tomtéž webovém serveru nebo na téže internetové doméně nejnižšího stupně (internetové stránce). Dokumenty umístěné na počítačových serverech jsou adresovány pomocí URL, jehož součástí je idoména ajméno počítače. Název naprosté většiny těchto serverů začíná zkratkou WWW, ikdyž je možné používat libovolné jméno vyhovující pravidlům URL. Protokol HTTP je dnes již používán ipro přenos jiných dokumentů, než jen souborů ve tvaru HTML avýraz World Wide Web se postupně stává pro laickou veřejnost synonymem pro internetové aplikace.

Obrázek 1.8: Okno webového prohlížeče při procházení webu

1.2 Základní pojmy azkratky

Vpředchozí části knihy jsme si řekli ozákladech internetu. Ty ale povětšinou lidé, kteří chtějí tvořit dynamické webové stránky aaplikace, alespoň rámcově znají. Nyní je čas přejít od slov kčinům, apřesunout se tak blíže kproblematice vytváření PHP skriptů. Začněme pojmy, se kterými se vprůběhu tvorby můžete setkat. Pojmy jsou seřazeny podle abecedy.

AJAX

AJAX (Asynchronous JavaScript and XML) je označení pro sadu technologií určenou kvývoji interaktivních webových aplikací, které mění obsah svých stránek bez nutnosti jejich znovu načítání. Na rozdíl od klasických webových aplikací poskytují uživatelsky příjemnější prostředí, ale vyžadují použití moderních webových prohlížečů. Mezi výhody patří odstranění nutnosti znovunačtení apřekreslení celé stránky při každé operaci, které jsou nutné uklasického modelu WWW stránek. Pokud například uživatel klepne na tlačítko pro udělení hlasu vnějaké anketě, celá stránka se musí znovu načíst ze serveru, třebaže se na ní jen například aktualizují výsledky hlasování aveškerý zbytek obsahu zůstává stejný.

Apache

Apache HTTP Server je softwarový webový server. Využívá se uvětšině webhostingů, kde provozovatel deklaruje podporu technologie PHP. Apache můžete mít nainstalován také na svém počítači. Díky jeho přítomnosti voperačním systému budete moci ladit atestovat své stránky sprvky HTML aPHP kódu. Pokud budete ladit dynamické webové stránky na vlastním počítači, pak budete vlastní instanci Apache serveru potřebovat. Vdalší části knihy si ukážeme, jak na to.

Obrázek 1.9: Trojlístek technologií souvisejících sprovozem PHP

ASP

ASP (Active Server Pages) je skriptovací platforma společnosti Microsoft, primárně určená pro dynamické zpracování webových stránek na straně serveru. Dalo by se říci, že šlo vjisté době okonkurenci technologie PHP, ale celý projekt se příliš neujal. Dnes jde prakticky omrtvou technologii, kterou nemá valnějšího smyslu se zabývat. Její nástupce, ASP.NET, lze chápat jako širší akomplexnější technologii, která se od ASP vmnoha ohledech fundamentálně liší.

ASP.NET

ASP.NET je součást .NET Frameworku pro tvorbu webových aplikací aslužeb. Je nástupcem technologie ASP. Ačkoli název ASP.NET je odvozen od starší technologie pro vývoj webů ASP, obě technologie jsou velmi odlišné. ASP.NET je založen na CLR (Common Language Runtime), který je sdílen všemi aplikacemi postavenými na .NET Frameworku. Programátoři tak mohou realizovat své projekty vjakémkoli jazyce podporujícím CLR, např. Visual Basic.NET, JScript.NET, C#, Managed C++, ale imutace Perlu, Pythonu adalší. Aplikace založené na ASP.NET jsou také rychlejší, neboť jsou předkompilovány do jednoho či několika málo DLL souborů, na rozdíl od ryze skriptovacích jazyků, kde jsou stránky při každém přístupu znovu aznovu parsovány. Pro zvládnutí této technologie je nutné být pokročilým vývojářem webů amít alespoň elementární znalosti vyšších programovacích jazyků.

CSS

Kaskádové styly, neboli Cascading Style Sheets se zkratkou CSS, je jazyk pro popis způsobu zobrazení stránek napsaných vjazycích HTML, XHTML nebo XML. Hlavním smyslem je umožnit návrhářům oddělit vzhled dokumentu od jeho struktury aobsahu. Původně to měl umožnit už jazyk HTML, ale vdůsledku nedostatečných standardů akonkurenčního boje výrobců prohlížečů se vyvinul jinak. Starší verze HTML obsahují celou řadu elementů, které nepopisují obsah astrukturu dokumentu, ale izpůsob jeho zobrazení. Zhlediska zpracování dokumentů avyhledávání informací není takový vývoj žádoucí.

Doména (internetová)

Internetová doména (doménové jméno) je jednoznačné jméno (identifikátor) počítače nebo počítačové sítě, které jsou připojené do internetu. Příkladem doménového jména je www.grada.cz. Doménové jméno je tvořeno posloupností několika částí oddělených tečkami. Části mezi tečkami jsou také někdy číslovány (odzadu), takže např. cz je doména 1. úrovně, grada.cz je doména 2. úrovně atd. Cena domény na internetu se liší dle oblasti aposkytovatele. Například za běžnou doménu CZ zaplatíte zhruba 250Kč. Pokud chcete svou prezentaci kupříkladu na adrese www.mojeadresa.cz, pak budete potřebovat nejen doménu (adresu), ale také webhosting (viz níže). Domény iwebhosting si můžete objednat umnoha českých hostingových společností.

FTP

FTP (File Transfer Protocol) je vinformatice protokol pro přenos souborů mezi počítači pomocí počítačové sítě. Vpřípadě webových stránek se FTP využívá ke zkopírování hotových webových stránek na webhosting. Abyste mohli stránky na webhostingový server kopírovat skrze FTP, budete potřebovat specializovanou aplikaci, FTP klient. Funkci FTP připojení vsobě obsahují isouborové manažery, například Total Commaner.

HTML

HyperText Markup Language, označovaný zkratkou HTML, je značkovací jazyk pro hypertext. Je jedním zjazyků pro vytváření stránek vsystému World Wide Web, který umožňuje publikaci dokumentů na internetu. Je charakterizován množinou značek (tzv. tagů) ajejich atributů definovaných pro danou verzi. Mezi značky se uzavírají části textu dokumentu atím se určuje význam (sémantika) obsaženého textu. Názvy jednotlivých značek se uzavírají mezi úhlové závorky < a>. Část dokumentu tvořená otevírací značkou, nějakým obsahem aodpovídající ukončovací značkou tvoří tzv. element (prvek) dokumentu. Například <strong> je otevírací značka pro zvýraznění textu a<strong>Červená Karkulka</strong> je element obsahující zvýrazněný text (tučné písmo). Součástí obsahu elementu mohou být další vnořené elementy.

Obrázek 1.10: FTP připojení vprogramu Total Commander

JavaScript

JavaScript je multiplatformní, objektově orientovaný skriptovací jazyk, který se zpravidla používá jako interpretovaný programovací jazyk pro WWW stránky, často vkládaný přímo do HTML kódu stránky. Jsou jím obvykle ovládány různé interaktivní prvky– tlačítka, textová políčka, formuláře nebo tvořeny animace aefekty obrázků. Jeho syntaxe patří do rodiny jazyků C/C++/Java. Slovo Java je však součástí jeho názvu pouze zmarketingových důvodů asprogramovacím jazykem Java jej vedle názvu spojuje jen podobná syntaxe. Javascript lze nejlépe co do syntaxe připodobnit kPHP. Novější podobou Javascriptu je asynchronní Javascript, nazývaný AJAX (viz výše).

MySQL databáze

MySQL je multiplatformní databáze. Komunikace sní probíhá– jak už název napovídá– pomocí jazyka SQL. Podobně jako uostatních SQL databází se jedná odialekt tohoto jazyka sněkterými rozšířeními. Vrámci programování dynamických webových stránek jde onejpoužívanější databázový systém na světě. Většina webhostingů podporujících jazyk PHP nabízí také databázi MySQL, kterou lze právě sPHP snadno propojit do podoby dynamické webové aplikace. Stejně jako server Apache, také databázi MySQL můžete provozovat na vlastním počítači asimulovat si tak webové prostředí. Vdalší části knihy si ukážeme, kterak si databázi nainstalujete na lokální počítač.

Obrázek 1.11: Správa MySQL databáze vPhpMyAdmin

PHP

PHP (původně Personal Home Page, nyní obvykle rekurzivně Hypertext Preprocessor) je skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či XML, což lze využít při tvorbě webových aplikací. PHP lze použít iktvorbě konzolových adesktopových aplikací. PHP je vedle ASP jedním ze dvou nejrozšířenějších skriptovacích jazyků pro web. Oblíbeným se stal především díky jednoduchosti použití, bohaté zásobě funkcí, atomu, že kombinuje vlastnosti více programovacích jazyků anechává tak vývojáři částečnou svobodu vsyntaxi.

Tag

Tag je označení pro kódovou značku HTML nebo XHTML jazyka. Tag je obvykle ohraničen znaky < a>. Pomocí tagů lze například stanovit základní oddíly stránky, vymezit formátování textu (ne vXHTML, tam je potřeba využít CSS) apod. Stagy vnejrůznější podobě se blíže setkáte utvorby sebejednodušší WWW stránky. Typické příklady tagů: <a>, <img>, <head>, <body> apod.

Webhosting

Webhosting je pronájem prostoru pro webové stránky na cizím serveru. Pronajímatel serveru bývá označován jako poskytovatel webhostingu (webového prostoru). Díky webhostingu si můžete své webové stránky umístit na internet, aniž byste museli mít vlastní server. Ceny za webhosting se pohybují od pár korun až po několik tisíc za měsíc. Existuje ibezplatná varianta, tzv. freehosting. Freehosting obvykle nezahrnuje žádné záruky ohledně funkčnosti, má omezenou technickou podporu. Často je sfreehostingem spojeno umisťování reklamy na stránkách. Webhosting je pouze samotné umístění stránek na serveru poskytovatele. Aby se uživatelé internetu ke stránkám dostali, je potřeba mít zaregistrovánu doménu (např. snázvem společnosti). Alternativně lze uněkterých firem zdarma využít domény 3. řádu, například vasejmeno.poskytovatel.cz. Vpřípadě vyšších nároků na rychlost, spolehlivost ana podporované služby atechnologie je dalším krokem serverhosting, kdy je zákazníkovi pronajímán celý server.

XHTML

XHTML (zkratka anglického extensible hypertext markup language– „rozšiřitelný hypertextový značkovací jazyk“) je značkovací jazyk pro tvorbu hypertextových dokumentů vprostředí WWW vyvinutý W3C. Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen. Vroce 2007 však došlo kzaložení pracovní skupiny, která má za cíl vytvořit novou verzi HTML, která ponese označení HTML 5 ajejí XML variantu XHTML 5. Vedle toho paralelně pokračuje ivývoj XHTML 2.0.

1.3 Filosofie tvorby webových aplikací

Nezkušení autoři webových aplikací adynamických stránek dělají často velkou chybu, když kvývoji přistupují zbrkle, nepromyslí si celý projekt avrhají se překotně na různé části tvůrčí činnosti. Zvlastní zkušenosti vás chci varovat před chybami, které mohou hned na začátku pohřbít váš projekt, aniž byste napsali jedinou webovou stránku.

1.3.1 Jak postupovat při plánování projektu www stránek

Nejdůležitější ze všeho je před započetím jakékoli práce hodně přemýšlet, vše si sepsat azvážit, aaž poté začít srealizací.

1. Nejprve si stanovte cíl svého snažení. Některé cíle mohou znít jednoduše, ale problematika projektů bývá složitější, než to na první pohled vypadá.

2. Stanovte si, jaké technologie pro realizaci využijete ajak by mělo vypadat vypracování jednotlivých kroků.

3. Nezačínejte tvorbu jen apouze od vzhledu aod výsledného efektu. Webové stránky mají dobrý základ vrozvržení souborové struktury, provázanosti jednotlivých částí ajednoduché změně grafiky pomocí CSS stylů.

4. Pokud je to možné, konzultujte vývoj, vzhled achování webu sosobou, která má vtéto problematice přehled– poslouchejte názory druhých.

5. Dbejte dodržování validity atestujte stránky vždy vněkolika prohlížečích na několika počítačích, ideálně itakových, které mají jiný operační systém než Windows.

6. Zvažte možnost vytvoření mobilní verze stránek. Prohlížení webových stránek zmobilu či tabletu je dnes zcela běžné.

7. Propagujete-li svůj web či produktové stránky, je nesmírně důležité dodržet zásady SEO pro snadnou indexaci stránek vyhledávači. Můžete také využít marketing velkých vyhledávačů pro zviditelnění svého obsahu.

1.3.2 Nejčastější chyby, které pohřbí váš projekt

Nelze samozřejmě popsat všechny chyby, které lze při přípravě webových stránek udělat, existují ale určité typické okruhy pochybení, kterým se lze vyhnout.

Přehnané ideály. Není nic horšího, než jít do vývoje webového projektu srdcem. Pokud tedy máte neomezené množství času atvůrčí energie, pak je to možná cesta dobrá, ale vdnešní době se často stane, že vdůsledku absence času se obrovský projekt může zvrhnout vnikdy nedokončené dílo. Svůj nápad konzultujte sostatními vývojáři ještě před jeho započetím. Je vhodné si osvých záměrech promluvit také sběžnými uživateli internetu, kteří na celou tvorbu mohou mít odlišný názor než profesionálové. Rozhodně si nedávejte velké cíle na začátku tvorby. Pokud jsem ještě nezačal vytvářet ani jednoduché stránky, je holý nesmysl doufat, že zvládnu e-shop, vlastní redakční systém, sociální síť nebo zpravodajský portál.

Přínos projektu. Existují projekty, které budete mít chuť realizovat, protože by vám zjednodušily práci. Není ale jisté, zda odanou službu nebo webovou aplikaci budou mít zájem idalší uživatelé. Je také možné, že podobná nebo ještě lepší služba již existuje avy tak skončíte se svým projektem jako chudý příbuzný.

Technologické zázemí. Přemýšlejte, zda máte pro daný projekt vhodné technologické zázemí. Například velké projekty jen těžko zprovozníte na bezplatném webhostingu. Ktakovým je potřeba vlastní nebo pronajatý server na páteřní síti.

One man show. Pokud tvoříte daný projekt sami, je nutné zvážit, zda na něj máte. Někdy je lepší přivzít kprojektu dalšího vývojáře. Zde je ale nutná naprostá souhra, respekt aspolehlivost týmu.

Omezená funkčnost. Řadu dobrých projektů pohřbila taková malichernost, jako omezená funkčnost. Vsouvislosti swebem je zejména důležité, ať je vaše aplikace bezpečná, neobtěžuje uživatele desítkami reklamních bannerů aať funguje ve všech standardních prohlížečích. Pokud tyto podmínky nesplníte, pak se vystavujete riziku odlivu uživatelů.

Špatná dostupnost. Tento bod má hodně společného svýběrem webhostingu. Ne vždy je nejlevnější hosting ideálním řešením. Může mít výpadky, špatně interpretovat skriptovací jazyky serveru apod. Také ovšem neplatí, že by předražený webhosting vždy poskytl extrémní přidanou hodnotu.

Grafický paskvil. Vneposlední řadě jde také ografiku. Sólový vývojář webových stránek musí být nejen analytik či programátor, ale také grafik. Jednoduchá grafika realizovaná vMalování nadchne asi jen přívržence obsahové části. Ale ity může odradit. Na moderních stránkách se vyskytuje mnoho grafických prvků, obrázků, ikon, bannerů aanimací.

1.4 Webhosting aFTP připojení

Pro zprovoznění vlastních webových projektů vinternetu budete potřebovat několik málo věcí. Jednak jde odoménu, tedy nějakou internetovou adresu, kterou uživatelé zadají do prohlížeče, když se budou chtít na vaše stránky dostat. Dále bude zapotřebí webhosting, kam skripty (coby soubory) uložíte. Ono samotné uložení stránek na webhosting se nejčastěji děje pomocí FTP připojení, takže vneposlední řadě budete muset nainstalovat FTP aplikaci, takzvaného klienta.

1.4.1 Doména aneb adresa stránek

Adresa vašich stránek závisí do značné míry na tom, co si zaplatíte. Pokud chcete zatím jen zkoušet vývoj webových stránek achcete nějakou zkušební adresu, pak je ideální zvolit nějakou bezplatnou doménu třetí úrovně, která může mít například takovouto podobu: http://nazev.ic.cz. Pokud ale víte, že chcete doménu druhé řádu, tedy lepší adresu, pak si můžete zaplatit například adresu http://www.nazev.cz. Kromě koncovky CZ může mít samo sebou doména ijiné názvy, jako kupříkladu COM, ORG, EU, INFO, BIZ apod. Průměrná cena ročního poplatku za registraci asprávu internetové domény činí zhruba 250Kč. Dostupnost vámi požadovaného názvu domény druhé úrovně si můžete vyzkoušet uněkterého poskytovatele webhostingu, například na této adrese: https://www.forpsi.com/domain.

Doménu iwebhosting lze objednat samostatně jakožto oddělené služby. Toto řešení je ale vhodné spíše pro IT profesionály, neboť zakoupená adresa se musí správně nasměrovat na webhosting, jinak nebudou stránky korektně fungovat. Pokud se na ono směrování příliš necítíte, pak je lepší zakoupit doménu druhé úrovně současně ishostingem ujednoho poskytovatele, který nasměrování asprávnou funkci zajistí.

1.4.2 Výběr webhostingu

Na českém trhu existují desítky či stovky firem, které webhosting nabízí. Porovnávat lze podle ceny, ale nejlépe, když si srovnáte parametry jednotlivých hostingů anabízených služeb. Kromě toho je občas vhodné prohledat diskusní fóra (ktomu postačí Google) apročíst si názory uživatelů, jak jsou spokojeni sdanou službou. Není totiž opravdu vhodné volit nejlevnější nebo nejdražší variantu.

Co by měl základní webhosting splňovat?

1.4.3 FTP protokol

Doporučení FTP klienti

Web: www.totalcmd.com

Web: http://www.filezilla.cz

Web: http://winscp.net/eng/docs/lang:cs

1.4.4 Zkušební bezplatný webhosting

Endora: Maximum služeb za 0Kč

Obrázek 1.12: Administrace služeb Endora

Web: www.endora.cz

IC.CZ: Dostačuje na základní projekty

Web: www.ic.cz

Obrázek 1.13: Registrace služeb IC.cz

Webzdarma: Neurazí, neoslní

Web: www.webzdarma.cz

ASPone: Pro nadšence do technologie ASP.NET

Shrnutí

1.5 Struktura souborů asložek

1.5.1 Základní typy souborů

1.5.2 Rozdělení do složek

Příklad souborové struktury jednoduchého webu

…

[images]

Příklad struktury webu kombinovaného sPHP

…

1.5.3 Zásady adoporučení

1.6 Software potřebný pro vytváření webových projektů

Základní skupiny potřebných programů

1.6.1 HTML aPHP editory

Doporučený editor

1.6.2 Grafické aplikace

1.6.3 FTP klient

1.6.4 Internetové prohlížeče

1.6.5 Testovací programy

1.7 Validita ainternetové prohlížeče

1.7.1 Validní vs. Invalidní kód

1.7.2 Kčemu slouží validace webu?

1.7.3 Testujeme, zda jsou stránky validní

Odkazy na validátory

Table of Contents

Úvod

O autorovi

1. Internet a základní pojmy

1.1 Několik slov o internetu

1.1.1 Co je to internet

1.1.2 Důležité mezníky ve vývoji internetu

1.1.3 Internetový protokol TCP/IP

1.1.4 Identifikace počítačů v internetu

1.1.5 Protokol HTTP – hypertext

1.1.6 WWW a brouzdání

1.2 Základní pojmy a zkratky

1.3 Filosofie tvorby webových aplikací

1.3.1 Jak postupovat při plánování projektu www stránek

1.3.2 Nejčastější chyby, které pohřbí váš projekt

1.4 Webhosting a FTP připojení

1.4.1 Doména aneb adresa stránek

1.4.2 Výběr webhostingu

1.4.3 FTP protokol

1.4.4 Zkušební bezplatný webhosting

1.5 Struktura souborů a složek

1.5.1 Základní typy souborů

1.5.2 Rozdělení do složek

1.5.3 Zásady a doporučení

1.6 Software potřebný pro vytváření webových projektů

1.6.1 HTML a PHP editory

1.6.2 Grafické aplikace

1.6.3 FTP klient

1.6.4 Internetové prohlížeče

1.6.5 Testovací programy

1.7 Validita a internetové prohlížeče

1.7.1 Validní vs. Invalidní kód

1.7.2 K čemu slouží validace webu?

1.7.3 Testujeme, zda jsou stránky validní