PHP

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

PHP (rekurzivní zkratka PHP: Hypertext Preprocessor, „PHP: Hypertextový preprocesor“, původně Personal Home Page) 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 WML, což je velmi výhodné pro tvorbu webových aplikací. PHP lze ovšem také použít i k tvorbě konzolových a desktopových aplikací.

Samotná Wikipedie je naprogramována v PHP.

PHP skripty jsou prováděny na straně serveru, k uživateli je přenášen až výsledek jejich činnosti. Syntaxe jazyka kombinuje hned několik programovacích jazyků (Perl, C, Pascal a Java). PHP je nezávislý na platformě, skripty fungují bez úprav na mnoha různých operačních systémech. Obsahuje rozsáhlé knihovny funkcí pro zpracování textu, grafiky, práci se soubory, přístup k většině databázových serverů (mj. MySQL, ODBC, Oracle, PostgreSQL, MSSQL), podporu celé řady internetových protokolů (HTTP, SMTP, SNMP, FTP, IMAP, POP3, LDAP, …)

PHP se stalo velmi oblíbeným především díky jednoduchosti použití a tomu, že kombinuje vlastnosti více programovacích jazyků a nechává tak vývojáři částečnou svobodu v syntaxi. V kombinaci s databázovým serverem (především s MySQL nebo PostgreSQL) a webovým serverem Apache je často využíván k tvorbě webových aplikací. Díky velmi častému nasazení na serverch se vžila zkratka LAMP – tedy spojení Linux, Apache, MySQL a PHP nebo Perl.

S verzí PHP 5 se výrazně zlepšil přístup k objektově orientovanému programování podobný Javě.

Historie

Od roku 1994 je PHP jedním z nejpoužívanějších způsobů tvorby dynamicky generovaných WWW stránek. Jeho tvůrce (Rasmus Lerdorf) jej vytvořil pro svou osobní potřebu přepsáním z Perlu do jazyka C. Sada skriptů byla vydána ještě v témže roce pod názvem Personal Home Page Tools, zkráceně PHP.

V polovině roku se systém PHP spojil s programem Form Interpreter stejného autora. Tak vzniklo PHP/FI 2.0. Zeev Suraski a Andi Gutmans v roce 1997 přepsali parser a zformovali tak základ PHP3. Současně byl název změněn na dnešní podobu PHP Hypertext Preprocessor. PHP3 vyšlo v roce 1998, bylo rychlejší, obsahovalo více funkcí. Také běželo i pod operačním systémem Windows.

V roce 2000 vychází PHP verze 4, o čtyři roky později pak verze 5 s vylepšeným objektovým přístupem, podobným jazyku Java.

Ukázka kódu

Takto v PHP vypadá skript Hello world:

<?php echo "Ahoj, světe!"; ?>

Typické vlastnosti jazyka PHP

  • Jazyk PHP je dynamicky typový, tzn. že datový typ proměnné se určí v okamžiku přiřazení hodnoty.
  • Díky tomu má PHP dva typy porovnání, '==' stejný jako v C, a '===' který platí jen když jsou oba dva výrazy stejného typu.
  • Pole jsou heterogenní, mohou tedy obsahovat jakékoli údaje, stejně tak jako jejich indexy.
  • Řetězce lze uzavírat jak do uvozovek (obsah je parsován), tak do apostrofů (obsah není parsován).

<source lang="php"> // Zde je v proměnné string (tečka je operátor spojování řetězců) $retez = "Ahoj, světe".', mám se dobře'." a nevadí, že střídám oddělovače";

// Zde je v proměnné číslo (int) $cislo = 100;

// Do proměnné je možne dát pole, které obsahuje jak čísla, tak znaky či další pole $pole = array('a', 'b', 1, 2, array('první' => 'podpole', 'vytištěno'));

// Nenahlásí chybu (jenom varovaní) a vytiskne 'Array' print($pole);

// Vytiskne obsah proměnné pole print_r($pole);

// Test porovavání $cislo = 100; $retez = '100';

// Toto porovnání ('==') platí díky automatické typové konverzi if ($retez == $cislo) {

 echo 'Jsou stejné';

}

// Ale porovnání pomocí '===' neplatí, neboť nejsou stejné typy if ($retez === $cislo) {

 echo 'To by nešlo';

} </source>

  • PHP do verze 4.2.0 automaticky přejímalo veškeré proměnné (považovalo je za globální) poslané jakoukoliv metodou (POST, GET, COOKIE, ale i SESSION) (pokud administrátor serveru tuto funkci nevypnul) a umožňovalo s nimi dále pracovat.
  • od verze 4.2.0 lze hodnotu získat ze superglobálních proměnných s garancí původu informace (máme zaručeno, že data byla odeslána požadovanou metodou). Administrátor serveru má stále možnost používání globálních proměnných povolit, ale z bezpečnostních důvodů se to silně nedoporučuje.

<source lang="php"> // odešlu formulář metodou POST, kde do pole s názvem jmeno vepíšu 'Tom' echo $jmeno; // vrátí 'Tom', funguje pouze v případě povolených globálních proměnných echo $_POST['jmeno']; // vrátí 'Tom', superglobální proměnné fungují i při vypnutých globálních proměnných echo $_GET['jmeno']; // vypíše se chybové hlášení o neexistenci proměnné a vrátí NULL // NULL je zvláštní hodnota libovolného typu proměnných pro stav 'nedefinováno' </source>

Historie jazyka

Verze Datum
PHP 1.0 8. června 1995
PHP 2.0 (PHP/FI) 16. dubna 1996
PHP 3.0 6. června 1998
PHP 4.0 22. května 2000
PHP 4.1 10. prosince 2001
PHP 4.2 22. dubna 2002
PHP 4.3 27. prosince 2002
PHP 4.4 11. července 2005
PHP 5.0 13. července 2004
PHP 5.1 25. listopadu 2005
PHP 5.2 2. listopadu 2006

Externí odkazy