PHP

Z WikiKnihovna
Přejít na: navigace, hledání

Autor: Jaroslav Kvasnica

Klíčová slova: skriptovací jazyk, dynamické webové stránky, programování

Synonyma: ---

Související pojmy:

nadřazené - webový server, skriptovací jazyk, Apache, databáze, framework
podřazené - Zend Engine, PHP-GTK, PHP licence

PHP (Hypertext Preprocesor) je skriptovací jazyk, který se využívá zejména při programování dynamických webových stránek. Nejčastěji je využíván v kombinaci s HTML nebo XHTML, kdy je PHP včleněno přímo do jejich struktury. K jeho interpretaci dochází na straně serveru a k uživateli se přenáší až konečné výsledky programu.

PHP je multiplatformní, lze jej spustit na jakémkoliv operačním systému. Jeho syntaxe vychází z jazyků C, Java a Perl.[1] PHP obsahuje podporu pro mnoho knihoven, které umožňují jeho široké využití např. práci se soubory, textem, XML. Ale tyto knihovny hlavně nabízejí i podporu pro využití jiných technologií, zejména přístup k mnoha databázovým serverům (např. MySQL, PostgreSQL) a přístup k internetových protokolům (HTTP, IMAP, FTP a další).

První verze byla vytvořena v roce 1995 Rasmusem Lerdorfem. Od čtvrté verze používá PHP nové skriptovací jádro, které se nazývá Zend Engine. Zatím poslední verzí je PHP 5, která využívá jádro Zend Engine 2.0, které již plně podporuje objektově orientované programování. [2]

Využití PHP

PHP lze použít pro tyto účely: [3]

  1. Server-side skripting – tradiční a nejčastější využití, tedy tvorba dynamických webových stránek. Pro spuštění je potřeba server a internetový prohlížeč.
  2. Skriptování v příkazovém řádku – PHP skripty lze spouštět i bez serveru a prohlížeče. Využívá se pro skripty pravidelně spouštěné v cronu (Linux) nebo v Plánovači úloh (Windows).
  3. Psaní desktopových aplikací – manuál uvádí, že PHP pro tento typ programování není úplně vhodný, ale je možný. Pro programování desktopových aplikací se používá rozšíření PHP-GTK


Technologie

PHP bývá nejčastěji instalován na serveru Apache. Lze jej ale spustit i na jiných serverech, např. IIS od Microsoftu. PHP může být nainstalované jako modul nebo jako CGI resp. FastCGI (tedy jako externí program). Většina serverů, ale obsahuje přímou podporu pro PHP modul. V obecnou známost vešla zkratka LAMP, který představuje charakteristický přístup využití svobodného software pro vývoj webových aplikací. Zahrnuje tyto technologie: Linux, Apache, MySQL, PHP (Python, Perl).

PHP je vydáváno pod vlastní licencí, která se nazývá PHP licence. Její poslední verze se nazývá PHP License v3.01 a je to certifikovaná Open Source licence založená na BSD licenci, která je jednou z nejsvobodnějších. PHP software tedy nemá žádné „copyleft“ omezení. Ovšem některé knihovny mohou být vydány pod jinou licencí.


Zpracování PHP skriptu

Při zaslání požadavku na skript PHP ze strany uživatelského agenta na webový server probíhá následujících šest kroků:[4]

  1. Webový server předá požadavek do rozhraní webové serveru ve stroji Zend.
  2. Rozhraní webového serveru vyvolá stroj Zend a předá mu příslušné parametry.
  3. Stroj načte z disku skript PHP.
  4. Kompilátor načtený skript zkompiluje.
  5. Zkompilovaný kód je vykonán exekutorem stroje; tento kód může obsahovat také volání funkčních modulů. Výsledek práce exekutora se pak vrátí do rozhraní webového serveru
  6. Rozhraní webového serveru vrátí výsledek webovému serveru, který je obratem vrátí v odpovědi HTTP původnímu uživatelskému agentovi.


Ukázka zdrojového kódu

Ukázka PHP kódu. Tento kód pouze vypíše na obrazovku hlášku: "Hi, I'm a PHP script!"

       <?php
           echo "Hi, I'm a PHP script!";
       ?>

PHP se vkládá přímo do HTML kódu pomocí instrukce <?php  ?> [5]

Použitá literatura

  1. PHP.net [online]. c2001, Fri, 24 Dec 2010 [cit. 2010-12-25]. General Information. Dostupné z WWW: <http://php.net/manual/en/faq.general.php>.
  2. PHP.net [online]. c2001, Fri, 24 Dec 2010 [cit. 2010-12-25]. History of PHP. Dostupné z WWW: <http://php.net/manual/en/history.php.php>.
  3. PHP.net [online]. c2001, Fri, 24 Dec 2010 [cit. 2010-12-25]. What can PHP do?. Dostupné z WWW: <http://www.php.net/manual/en/intro-whatcando.php>.
  4. WILLIAMS, Hugh E.; LANE, David. PHP a MySQL : Vytváříme webové databázové aplikace. Vydání první. Praha : Computer Press, 2002. 530 s. ISBN 80-7226-760-4.
  5. PHP.net [online]. c2001, Fri, 24 Dec 2010 [cit. 2010-12-25]. What is PHP?. Dostupné z WWW: <http://www.php.net/manual/en/intro-whatis.php>.