V současné době existuje mnoho programovacích jazyků, které slouží k vytváření nebo správě webových stránek. Jedním z nejpoužívanějších je univerzální skriptovací jazyk PHP sloužící k vývoji webových stránek. Stránky napsané v PHP jsou prováděny na serveru a mají podobu HTML stránek s vnořeným kódem poskytujícím využívat funkce PHP. Jazyk PHP je jednoduchý na pochopení, a poskytuje řadu funkcionalit pro pokročilé programátory. [1]
V následujících kapitolách se podíváme na historii a vývoj webových stránek a jazyku PHP, jak byl využíván pro tvorbu webových stránek, jeho vlastnosti a možnosti, a závěrem jsou uvedeny moderní trendy a jazyky postupně nahrazující jazyk PHP.
-
1989
Počátky webu
Za otce webu je považován britský informatik Tim Berners-Lee (1955). Po studiích na Oxfordské univerzitě se vydal pracovat do CERNu jako softwarový inženýr. Během jeho působení v této instituci zpozoroval problémy sdílení informací, což posléze vyřešil pomocí technologie zvané hypertext, umožňující propojit dokumenty na počítačích připojených k internetu.
V březnu roku 1989 představil jeho vizi v dokumentu „Information Management: A Proposal”, který byl ale původně zamítnut. V CERNu se tedy nikdy oficiálně na webu nepracovalo, ale Timův šéf Mike Sendall mu umožnil práci na jeho projektu.
obr. 1.: Originální návrh webu v dokumentu „Information management: A Proposal” [3]
-
1990
World Wide Web
Za pomoci NeXT počítače vyvinutého Stevem Jobsem, Tim koncem roku 1990 navrhl základní prohlížeč webu zvaný WorldWideWeb.app, první webový server a také vytvořil technologie, které byly základem pro vznik webu. První je HTML (Hypertext Markup Language) formátovací jazyk k vytváření webových stránek, druhou je protokol HTTP (Hypertext Transfer Protocol) pro přenos dat za pomoci webu, a třetí je lokalizování přes URI (Uniform Resource Identifier) pro adresování a hledání stránek a dokumentů.
obr. 2.: Tim Berners-Lee pózující s prvním webovým serverem [4]
Po tomto převratném objevu se jej CERN snažil neúspěšně kontaktovat, aby si web patentoval. Berners-Lee ovšem stál za tím, že web by měl být dostupný každému, aby se mohl co nejrychleji vyvíjet.
-
1993
CERN a první komerční počítač
V dubnu roku 1993 díky jeho nátlaku umožnil CERN veřejnosti bezplatný přístup ke kódu, a to jednou provždy. Díky tomuto rozhodnutí nastalo období kreativity.
Rovněž v roce 1993 díky tomu, tým z Národního centra superpočítačových aplikací na University of Illinois vytvořili první komerční prohlížeč s názvem Mosaic. V následujících letech se také začaly objevovat webové stránky, které jsou populární dodnes jako Yahoo (1994), Amazon (1995) nebo Google (1998).
Tim Berners-Lee v roce 1994 opustil CERN a založil organizaci World Wide Web konsorcium, která uchovává webové standardy. V roce 2004 byl pasován na rytíře britskou královnou Alžbětou II. Následně v roce 2009 se také podílel na vytvoření společnosti World Wide Web Foundation zkoumající benefity webu pro lidstvo. [2] [4]
-
1994
Vzestup jazyka PHP
V roce 1994 vytvořil dánský programátor Rasmus Leodorf(1968) první verzi jazyka PHP (Personal Home Page Tools), tehdy zvanou Common Gateway Interface (CGI), napsanou v jazyce C. Tento produkt byl následníkem jazyka PHP/FI. Původně byl tento jazyk používán k tomu, aby si mohl Leodorf sledovat počet návštěvníků na jeho resumé, ale časem bylo třeba ho celý přepsat, aby umožňoval další funkcionality pro vytváření dynamických webů, jako například propojení s databází. V roce 1995 vydal kód veřejnosti, což viděl jako krok aby se tento jazyk mohl průběžně s časem zlepšovat a opravovat.
V září téhož roku přidal Leodorf nové funkcionality, které se používají dodnes, jako proměnné nebo vnořená HTML syntax. I přes nedostatky ve stylu implementace některých částí bylo PHP stále populární nástroj. V říjnu 1995 byl však celý kód přepsán znovu, aby PHP bylo pokročilým skriptovacím rozhraním podobajícím se jazyku C, jelikož s tím měli vývojáři v dané době nejvíce zkušeností.
V dubnu 1996 představil novou kompletně přepsanou verzi 2.0 umožňující integraci s databázemi DBM, mSQL, Postgres95, a také obsahující podporu pro cookies a uživatelsky definované funkcionality. I přes krátký životní cyklus této verze vyvíjené jedním člověkem bylo PHP populární po celém světě, přičemž v květnu 1998 obsahovalo přes 60 000 stánek PHP hlavičky. [5]
-
1997
PHP verze 3
PHP 3.0 se podobá jazyku PHP, která je dostupná dnes. Rasmus spolu se dvěma studenty z Izraele, Zeev Suraski a Andi Gutmans, začali přepisovat v roce 1997 tehdejší nedostatečnou implementaci PHP 2.0, která neobsahovala funkcionality potřebné pro jejich vysokoškolský projekt. Tuto verzi vydali pod názvem PHP 3.
Spolu s integrací více databází, protokolů a API poskytovala PHP 3 možnost snadno jej rozšířit o další funkcionality, což přilákalo mnoho vývojářů. Navíc obsahovalo podporu objektově-orientovaného programování a syntax byla mnohem více konzistentnější a výkonnější.
V červnu 1998 byl založen PHP Development Team sestávající z mnoha vývojářů pracujících na této verzi, čímž oficiálně skončila podpora pro PHP 2.0. PHP 3 byl vydán v zimě roku 1998, a na jeho vrcholu byl v té době využíván k 10% webových stránkách na celém internetu. [5]
-
1999
PHP verze 4
Krátce po vydání PHP 3 Zeev Suraski a Andi Gutmans pracovali na kompletním přepsání jádra jazyka. Cílem bylo zlepšit výkonnost pro komplexní aplikace a zvýšit modularitu základu kódu. Nový Zend Engine (skládající se ze jmen jeho vývojářů Zeeva a Andiho) splnil požadavky na výkon a byl představen v polovině roku 1999, na kterém byla založena nová verze PHP 4.0. PHP 4 také umožnila podporu pro více webových serverů, HTTP relace, lepší ochranu uživatelských vstupů a mnohé další.
-
2005
PHP verze 5
PHP 5.0 byla vydána v červenci 2005,primárně kvůli dlouhému vývoj iZend Engine 2.0, sloužícího jako základ této verze. V současné době využívá prostředky PHP desítky až stovky milionů webových stránek, a je jedním z nejpopulárnějších skriptovacích jazyků. [5]
Výhody jazyka PHP
Mezi hlavní konkurenti jazyka PHP patří především jazyky Python a Java. Ve srovnání s nimi má ale jazyk PHP několik následujících předností. [6]
Výkon a cena
Pomocí jednoho levného serveru lze zpracovat miliony uživatelů denně. Umí také obsluhovat vše – od malého formuláře až po webové stránky velikosti Facebooku. Navíc je k dispozici zdarma a jeho poslední verzi je možné kdykoliv stáhnout přímo na internetu. [6]
Integrace s databází
PHP v základu podporuje řadu databázových systémů, nejběžnější je MySQL, ale samozřejmostí je i přístup k databázím jako například PostgreSQL, Oracle, MongoDB a MSSQL. Pomocí standardu Open Database Connectivity (ODBC) je možné se připojovat k libovolné databázi přes ovladač ODBC. [6]
Podpora objektového orientovaného programování (OOP) a architektura
Ve verzi PHP 5.0 byla představena podpora OOP, která byla dále vylepšena ve verzi 7.0. Základem je princip dědičnosti, veřejných, chráněných a soukromých metod, abstraktních tříd a metod, rozhraní, konstruktorů a destruktorů. Architektura je dále založena principu Model-View-Controller (MVC), kde je logika kódu rozdělena na tři části podle toho, jak přistupují k příkazům uživatele. [6]
Moderní funkce jazyka PHP 7 a 8
Verze PHP 7 vyšle koncem roku 2015 a přinesla masivní zlepšení oproti předchozím verzím. Bylo kompletně přepsáno jádro Zend Engine, které výrazně zlepšilo výkon mnoha webových aplikací, někdy až o 100%. Tato verze snížila paměťové nároky webových stránek a také poskytla zpětnou kompatibilitu.
Verze PHP 8 pak přinesla další funkcionality z OOP a jazyků Java a Python, jako přiřazení typu proměnným a další specifické věci.
Kde ale zmizela verze PHP 6? Odpovědí je, že neexistuje žádná verze PHP 6. Její vývoj byl kompletně zastaven a začala být vyvíjena nová verze PHP 7. [6]
Bezpečnost webových stránek
Nejoblíbenější vlastnost internetu – otevřenost a dostupnost všech počítačů, také způsobuje největší problémy, kterým musíme v dnešní době čelit. Bezpečnost není funkce, není něco, co lze „implementovat“. Jedná se o nedílnou součást návrhu aplikace, přičemž tato práce nikdy nekončí a to ani tehdy, když vypustíme aplikaci do ostrého provozu.
Nad bezpečností aplikace je nutné přemýšlet a plánovat ji od začátku. Můžeme navrhnout a naprogramovat kód tak, abychom snížili pravděpodobnost, že někdo úspěšně prolomí náš systém.
Možností, kde může takový útok nastat, je nespočet. Základem je omezit přístup k datům a metodám, které přistupují k datům, na minimum lidí, kterým důvěřujeme. Takový uživatel se musí identifikovat pomocí své identity. Zde přichází další bezpečnostní riziko, v podobě slabých hesel, špatně uložených hesel v databázi, která nejsou nijak šifrována nebo úniku při přenosu sítí. [6]
Tvorba moderních webových stránek současnosti
Vývoj softwaru by měl být systematický a měřitelný. Při vývoji existuje celá řada praxí a osvědčených postupů. Mezi ty patří například znovupoužitelnost zdrojového kódu. Programátoři často píší kód, který už někde existuje. Je potřeba si tak před programováním ověřit, co máme k dispozici.
S tím souvisí i nutnost psaní udržitelného kódu. K němu náleží standardy pojmenování souborů a proměnných, konvence pro komentáře a odsazení kodu aj. Cílem je zvýšit čitelnost a pochopení kódu, když se k němu dostane jiný vývojář, který jej nenapsal.
Především v dnešní době je zapotřebí při vývoji webových stránek myslet na tyto postupy. Webové stránky jsou oproti minulosti násobně větší a komplikovanější, mnohdy využívají externí sady, které jsou napojeny přímo do kódu. Pokud jsou tyto postupy dodržovány v co největší možné míře, je vývoj aplikace v budoucnu téměř zaručen, protože je připravena na budoucí technologie, které se neustále vyvíjejí a mění. [6]
Frameworky
Moderní webové stránky se dnes již neobejdou bez využití frameworků, které masivně zjednodušují práci s kódem, zvyšují bezpečnost a urychlují kód. Co je vlastně framework? Jedná se o funkcionalitu, která přebírá kontrolu nad prováděním programu. Tato funkcionalita je vždy stejná, jedná se tedy o jakési jádro nebo základ. Do ní pak přidáváme svůj kód pomocí povolených vstupů tak, aby nenarušovala jádro aplikace a zároveň abychom dosáhli svého cíle.
Mezi hlavní framework a nejvíce rozšířený v rámci jazyka PHP patří framework Lavavel, konkrétně jeho verze 5.0. Možnosti tohoto frameworku jsou velmi obsáhlé a umožňuje prakticky všechno, co by mohl programátor potřebovat k vývoji jeho aplikace.
Tento framework rozděluje adresář na mnoho částí, mezi něž patří například oddělení databáze, konfigurace, vizualizace, testů, aplikační logiky, veřejného adresáře a podobně. Každá část má svoji logiku a smysl, je tedy nutné dodržovat správné rozdělení do těchto adresářů. Jádro aplikace pak následně pracuje s naším kódem a po každém zpracováníHypertext Transfer Protocolu (HTTP) neboHypertext Transfer Protocol Secure (HTTPS) provede daný požadavek. [6]
Reference
[1] „The PHP Group“, What is PHP?. [Online]. Available: https://www.php.net/manual/en/intro-whatis.php.[Přístup získaný 27. listopad 2023].
[2] „World Wide Web Foundation“, History of the Web. [Online]. Available: https://webfoundation.org/about/vision/history-of-the-web/. [Přístup získaný 27. listopad 2023].
[3] T. Berners Lee, „CERN“ Tim Berners-Lee's proposal, Březen 1989. [Online]. Available: https://info.cern.ch/Proposal.html. [Přístup získaný 27. listopad 2023].
[4] E. Nix, „A&E Television Networks,“ The World’s First Website, 4. august 2016. [Online]. Available: https://www.history.com/news/the-worlds-first-web-site. [Přístup získaný 27. listopad 2023].
[5] „PHP Group“, History of PHP. [Online]. Available: https://www.php.net/manual/en/history.php.php. [Přístup získaný 27. listopad 2023].
[6] WELLING, Luke a THOMSON, Laura.Mistrovství PHP a MySQL. Přeložil Ondřej BAŠE. Brno: Computer Press, 2017. ISBN 978-80-251-4892-1.