Rozcestník

Historie PHP a výzkumy jazykového zpracování v Československu od 80. let 20. století

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.

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.