PHP — serverový skriptovací jazyk pro web
Přehled jazyka PHP: účel, hlavní rysy, historie vývoje, typické použití, soubory a ekosystém. Základní rozdíly oproti klientským technologiím a praktické příklady nasazení.
Přehled
PHP (zkratka rekurzivně rozvinutá jako "PHP: Hypertext Preprocessor") je populární serverový skriptovací jazyk určený především pro tvorbu dynamických webových stránek a webových aplikací. Kód napsaný v PHP se spouští na webovém serveru, generuje HTML (nebo jiný výstup) a ten se posílá klientovi (prohlížeči). Díky tomu může stránka reagovat na vstupy uživatele, pracovat s databázemi, spravovat relace uživatelů (sessions) nebo zpracovávat formuláře.
Vlastnosti a způsoby použití
PHP je interpretovaný jazyk s dynamickým typováním a jednoduchou syntaktickou možností vkládání přímo do HTML pomocí značek <?php ?>. Má rozsáhlou standardní knihovnu pro práci se soubory, síťovými protokoly, databázemi a šifrováním. Mezi nejčastější použití patří:
- vytváření dynamických webových stránek a šablon,
- zpracování formulářů a správa autentizace,
- přístup k databázím (často MySQL, PostgreSQL),
- vývoj rozhraní API a backendu pro webové aplikace,
- tvorba stránek s uživatelskými účty, nákupními košíky a CMS řešeními.
Struktura souborů a nasazení
Typické soubory obsahující PHP kód mají příponu .php, ale mohou se používat i jiné přípony jako .php3 nebo .phtml, pokud to server povolí. Server (například Apache nebo Nginx s PHP-FPM) předává PHP interpretru skripty, které vrací vygenerovaný HTML výstup. Přístupová práva, konfigurace serveru a bezpečné nastavování proměnných prostředí jsou důležité pro bezpečné nasazení aplikací.
Pro studium a oficiální dokumentaci lze využít odkazy a zdroje: oficiální dokumentace nebo různé tutoriály a komunitní repozitáře s příklady.
Historie a vlivy
PHP vznikl jako soubor nástrojů pro sledování návštěvnosti a rychle se rozrostl do samostatného jazyka. V jeho syntaxi a návrhu lze rozpoznat vlivy z jazyků jako C, Perl, Java, C++ a některé konstrukty mohou připomínat i Python. Vývoj prošel několika hlavními verzemi, které postupně přidávaly objektově orientované prvky, zlepšení výkonu a moderní funkce jako typová kontrola, JIT kompilace nebo rozšířená standardní knihovna.
Některé organizace a licence považují PHP za svobodný software; informace o licencích a podmínkách naleznete v dokumentaci a u komunitních zdrojů: licenční informace a další vysvětlení.
Ekosystém, nástroje a rozdíly oproti jiným technologiím
Okolo PHP se vytvořil rozsáhlý ekosystém: frameworky (například Laravel nebo Symfony), systémy pro správu obsahu (WordPress, Drupal, Joomla) a řada knihoven pro běžné úkoly. To usnadňuje rychlý vývoj aplikací a integraci s databázemi, front-endovými nástroji nebo cloudovými službami.
Hlavní odlišnost proti klientským technologiím (např. JavaScript běžícím v prohlížeči) spočívá v místě vykonávání kódu: PHP běží na serveru a nevidí přímo uživatelův prohlížeč, zatímco klientský skript běží lokálně v uživatelském zařízení. Ve většině moderních aplikací se proto používají oba přístupy společně — PHP na serveru pro generování a správu dat a JavaScript na klientovi pro interaktivitu.
Důležité poznámky
Při práci s PHP je důležité dbát na bezpečnost (ošetření vstupů, správné uložení hesel, ochrana proti CSRF a XSS) a na volbu správné verze a rozšíření. PHP zůstává díky své jednoduchosti, dostupnosti na běžném hostingu a široké komunitě jednou z nejpoužívanějších technologií pro web.
Historie
PHP poprvé vytvořil Rasmus Lerdorf v roce 1995. Nyní jej vyvíjí a zdokonaluje velký tým lidí. Jeho název zpočátku znamenal Personal Home Page, ale později byl změněn na PHP: Hypertext Preprocessor; v novém názvu byla použita jeho stará zkratka.
Příklad
Příklad programu Hello World:
Běžně se například kód PHP vkládá do dokumentu HTML:
Autor
AlegsaOnline.com PHP — serverový skriptovací jazyk pro web Leandro Alegsa
URL: https://cs.alegsaonline.com/art/76617
Zdroje
- itc.conversationsnetwork.org : "PHP on Hormones - history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California"
- talks.php.net : this
- php.net : "PHP 7.3.6 Release Announcement"
- php.net : "Official PHP License Information"
- w3schools.com : w3schools.com/php/php_intro.asp
- httpd.apache.org : "Apache Module mod_mime AddHandler Directive"
- fsf.org : "GPL-Incompatible, Free Software Licenses"
- php.net : "History of PHP"