PHP

Z Wikipedie, otevřené encyklopedie

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, 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á Wikipedia 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ě.

Obsah

[editovat] 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 procesor. 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. Zatím poslední verzí je 5.2.1 z roku 2007.

[editovat] Ukázka kódu

Takto v PHP vypadá program Hello world:

<?php
  echo "ahoj světe";
?>

[editovat] 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).
 // Zde je v promenne string (tecka je operator spojovani retezcu)
 $retez = "Ahoj svete".',mam se dobre'." nevadi ze stridam oddelovace";
 // Zde je v promenne cislo (int)
 $cislo = 100;
 // Do promenne je mozne dat pole, ktere obsahuje jak cisla, tak znaky ci dalsi pole
 $pole = Array ('a','b', 1, 2, Array("prvni"=>'podpole','vytisteno'));
 // Nenahlasi chybu (jenom varovani) a vytiskne 'Array'
 print $pole;
 // Vytiskne obsah promenne pole
 print_r($pole);
 // Test porovavani
 $cislo = 100;
 $retez = '100';
 // Toto porovnani ('==') plati diky automaticke typove konverzi
 if ($retez == $cislo) echo 'Jsou stejne';
 // Ale porovnani pomoci '===' neplati nebot nejsou stejne typy
 if ($retez === $cislo) echo 'To by neslo';
  • PHP si automaticky přejímá veškeré proměnné (považuje je za globální) poslané jakoukoliv metodou (POST, GET, COOKIE (pokud administrátor serveru tuto funkci nevypne) , ale i SESSION) a umožňuje s nimi dále pracovat. Hodnotu lze ale také 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). Používání globálních proměnný je z bezpečnostních důvodů silně nedoporučováno.
 //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'

[editovat] Externí odkazy


Programovací jazyky

ABAP | Ada | AWK | Assembler | C | C++ | C# | COBOL | ColdFusion | Clean | D | Eiffel | Erlang | Flex | Fortran | JADE | Java | JavaScript | Lisp | Lua | Oberon | Object Pascal | Objective-C | Pascal | Perl | PHP | Python | REALbasic | REBOL | RPG | Ruby | SQL / PL/SQL | Tcl / Tcl/Tk | Visual Basic / VBScript | VB.NET | Visual FoxPro

Akademické: APL / J | Baltazar | Baltík | Karel | OCaml | Haskell | Scheme | Smalltalk | Logo | MATLAB | Mathematica | ML | Prolog

Ostatní: ALGOL | BASIC | Clipper | Forth | Goedel | Limbo | Miranda | Modula-2 / Modula-3 | MUMPS | PL/1 | Simula 67 | Whitespace