Топ-100
Back

ⓘ PHP (skriptovací jazyk)




PHP (skriptovací jazyk)
                                     

ⓘ PHP (skriptovací jazyk)

PHP je populárny open source programovací jazyk, ktorý sa používa najmä na programovanie klient-server aplikácií a pre vývoj dynamických webových stránok.

Medzi známe aplikácie založené na PHP patrí napríklad phpBB a MediaWiki, software, na ktorom beží Wikipédia. PHP je alternatívou k:

  • systému CGI/Perl
  • systému Macromedia ColdFusion
  • systému Sun Microsystems JSP/Java
  • systému Microsoft ASP/VBScript/JScript
                                     

1. Všeobecný prehlad

PHP bolo inšpirované jazykmi podporujúcimi procedurálne programovanie. Najviac vlastností prebralo od jazyka C a jazyka Perl. V neskorších verziách bolo rozšírené o možnosť používať objekty.

Jedna zo zaujímavých vlastností PHP je, že umožňuje ovela viac ako bežný skriptovací jazyk. Vďaka modulárnemu návrhu možno PHP používať aj na vývoj aplikácii s užívatelským rozhraním GUI.

PHP dokáže spolupracovať s relačnými databázami, ako napríklad MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL alebo SQLite, pričom si stále zachováva jednoduchú a priamočiaru syntax. PHP beží na takmer všetkých najrozšírenejších operačných systémoch, vrátane UNIXu, Linuxu, Windows či Mac OS X. Spolupracuje s najrozšírenejšími webovými servermi.

Architektúra L inux- A pache- M ySQL- HP zaužívaná skratka LAMP a takisto W indows- A pache- M ySQL- HP WAMP sa stali velmi oblúbenými v internetovom odvetví.

                                     

2. História

PHP bolo pôvodne navrhnuté ako niekolko skriptov v jazyku Perl, neskôr prepísaných do jazyka C. Autorom bol Rasmus Lerdorf v roku 1994. O rok neskôr svoje skripty zverejnil pod názvom P ersonal H ome P age Tools". Kombináciou s ďalším jeho programom Form Interpreter vzniklo PHP/FI. Zeev Suraski a Andi Gutmans, dvaja izraelskí vývojári prepísali syntaktický analyzátor parser v roku 1997 na novšiu verziu, ktorá sa stala základom PHP 3. Krátko po zverejnení verzie PHP 3 bola spustená aj oficiálna stránka. V roku 1999 sa Suraski a Gutmans opäť pustili do prepísania jadra, už pod názvom Zend engine. Založili spoločnosť Zend Technologies, ktorá sa odvtedy podiela na ďalšom vývoji PHP. V máji 2000 bolo vydané PHP 4, ktorého jadro tvoril nový Zend Engine 1.0. 13. júla 2004 bola vydaná verzia PHP 5, s jadrom "Zend Engine II", obsahujúca nové rysy ako napr. vylepšená podpora objektovo orientovaného programovania, PHP Data Objects extension a ďalšie.

                                     

3. Použitie

PHP je skriptovací jazyk, ktorý je špeciálne navrhnutý na tvorbu web stránok bežiacich na webovom serveri. Všetok PHP kód je vykonávaný pomocou PHP runtime, aby dynamicky vytvoril obsah na webovej stránke. Taktiež môže byť využitý na skriptovanie z príkazového riadku alebo klientovo orientované aplikácie s grafickým rozhraním. PHP môže byť nasadené na väčšine Webových serverov, operačných systémov a platformách a môže sa používať v spojení s mnohými relačnými databázami. Mnoho webhostingov ponúka podporu PHP pre svojich klientov. PHP je zadarmo dostupné a PHP Group poskytuje úplný zdrojový kód pre používatelov, aby ho mohli dotvárať, meniť a rozširovať pre ich vlastné použitie. PHP sa primárne správa ako filter, ktorý má na vstupe súbor, alebo prúd dát obsahujúci text a/alebo PHP inštrukcie na výstupe prúd dát najčastejšie vo forme HTML. Od PHP verzie 4 PHP parser kompiluje vstup aby vyprodukoval bajt kód pre spracovanie pomocou Zend Engine, ktorý poskytuje zvýšený výkon v porovnaní s jeho interpretermi v minulosti. Aj keď PHP bolo pôvodne vytvorené na tvorbu dynamických webových stránok, v súčasnosti sa primárne zameriava na skriptovanie na strane servera a je podobné ostatným serverovo orientovaným skriptovacím jazykom, ktoré klientovi poskytujú dynamický obsah z webového servera. Medzi tieto jazyky patrí napríklad ASP.NET od spoločnosti Microsoft, JavaServer Pages od Sun Microsystems alebo mod_perl. PHP pritiahlo produkciu mnohých frameworkov, ktoré poskytujú stavebné bloky a návrh štruktúry pre podporu rýchleho vývoja aplikácií. Niektoré ako CakePHP, Symfony, CodeIgniter, Yii Framework a Zend Framework ponúkajú vlastnosti podobné iným frameworkom pre webové aplikácie. LAMP architektúra sa stala populárnou vo webovom priemysle ako spôsob vývoja webových aplikácií. Písmeno "P" v tomto balíku bežne zastáva PHP po boku s Linux, Apache a MySQL, avšak môže odkazovať aj na Python, Perl, alebo kombináciu všetkých troch. Podobné balíky sú taktiež dostupné pre Windows a OS X, pričom ich názvy sú WAMP a MAMP, kde prvé písmená reprezentujú operačný systém. Hoci PHP a Apache sú súčasťou Mac OS X základnej inštalácie, používatelia týchto balíkov vyhladávajú jednoduchšiu inštaláciu, ktorá je jednoduchšie aktualizovaná. Od apríla 2007 viac ako 20 miliónov internetových domén malo webový servis hostovaný na serveroch s inštalovaným PHP a mod_php bolo zaznamenané ako najpopulárnejší Apache HTTP Serverový modul. PHP je používané ako serverovo orientovaný programovací jazyk na 75 % zo všetkých web stránok, ktorých serverovo orientovaný programovací jazyk je známy, a PHP je najpoužívanejší open source softvér v spoločnostiach. Množina systémov na správu webového obsahu napísané v PHP zahŕňa MediaWiki, Joomla, eZ Publish, SilverStripe, WordPress, Drupal a Moodle. Všetky webové stránky vytvorené pomocou týchto nástrojov sú napísané v PHP, zahŕňajúc požívatelskú časť Wikipédie, Facebook a Digg.



                                     

4. Bezpečnosť

Okolo 30 % všetkých zranitelností zaznamenaných v National Vulnerability Database sú spojené s PHP. Tieto zranitelnosti sú spôsobené nedodržaním pravidiel praktického programovania. Technické chyby samotného jazyka alebo jeho základných knižníc nie sú také časté okolo 1 % zo všetkých chýb v roku 2008. Keďže programátori robia chyby, niektoré jazyky obsahujú kontrolu chýb na automatické zisťovanie nedostatočnej validácie vstupu, ktorá vedie k mnohým problémom. Takáto funkcia je vyvíjaná aj pre PHP, ale jej zahrnutie a vydanie bolo v minulosti niekolkokrát zamietnuté. Existujú však pokročilé ochranné záplaty ako napríklad Suhosin a Hardening-Patch, ktoré sú špeciálne navrhnuté pre prostredia webhostingu.PHPIDS pridáva bezpečnosť lubovolnej PHP aplikácii pre ochranu proti intruze. PHPIDS deteguje útoky založené na cross-site scripting XSS, SQL injection, header injection, directory traversal, spúšťanie vzdialených súborov, remote file inclusion, a denial-of-service DoS.

                                     

5. Optimalizácia rýchlosti

Zdrojový kód PHP je skompilovaný za behu na vnútorný formát, ktorý môže byť vykonaný prostredníctvom PHP engine. Aby sa urýchlil čas vykonávania a nemusel sa kompilovať zdrojový kód vždy keď sa pristupuje k web stránke, môžu byť PHP skripty taktiež nasadené v spustitelnom formáte použitím PHP kompilera. Optimalizátory kódu sú zamerané na vylepšenie výkonu skompilovaného kódu redukovaním jeho velkosti, odstránením nadbytočných inštrukcií a vykonávaním iných zmien, ktoré môžu znížiť vykonávací čas. Pri PHP sú často príležitosti na optimalizáciu kódu. Príkladom optimalizátora kódu je PHP rozšírenie eAccelerator. Ďalším prístupom k redukovaniu kompilačného zaťaženia pre PHP servery je použitie opcode cache. Opcode cache funguje na základe odchytávania skompilovanej formy PHP skriptu v zdielanej pamäti aby predchádzala nadmernému parsovaniu a kompilovaniu kódu pri každom spustení skriptu. Aby sa zaručila najväčšia efektivita opcode caching a optimalizácia kódu môžu byť skombinované, keďže modifikácie sú vzájomne nezávislé sú vykonávané v rozdielnych častiach kompilácie.

                                     

6. Zdroje

PHP obsahuje free a open source knižnice s jadrom. PHP je v podstate systém uvedomujúci si internet so zabudovanými modulmi pre pristupovanie k serverom s protokolmi pre prenos dát FTP, mnohými databázovými servermi, zabudovanými SQL knižnicami ako napríklad PostgreSQL, MySQL, Microsoft SQL Server a SQLite, LDAP servery, a iné. Mnohé funkcie príbuzné programátorom v jazyku C, ako napríklad stdio rodina, sú prístupné aj v jadre PHP. PHP sprístupňuje vývojárom písať doplnky v C pre pridanie funkcionality do jazyka. Tieto doplnky môžu byť skompilované do PHP alebo načítané dynamicky počas behu. Existujú doplnky pre podporu Windows API, manažment procesov na operačných systémoch založených na Unix-e, viacbytové reťazce Unicode, cURL a niekolko populárnych komprimovacích formátov. Iné funkcie obsahujúce integráciu s IRC, dynamické generovanie obrázkov a AdobeFlash obsahu a dokonca syntézu reči. Základné funkcie jazyka ako tie zaoberajúce sa reťazcami a polami sú taktiež implementované ako doplnok. PHP komunitná doplnková knižnica PHP Extension Community Library PECL je súhrn doplnkov pre PHP. Zend poskytuje certifikačnú skúšku pre programátorov, vďaka ktorej sa môžu stať certifikovanými PHP vývojármi.



                                     

7. Syntax

PHP spracuje len kód ohraničený špeciálnymi tagmi, ostatný text bez zmeny odovzdá na výstup. Najvšeobecnejšie takto používané tagy sú. Použiť sa však dá aj a, takisto skrátená forma, prípadne ASP-style tagy

                                     
  • PHP môže byť: PHP skriptovací jazyk Pizza Hut Park Parallel History Project on Cooperative Security bývalý názov Parallel History Project on NATO and
  • Skriptovací jazyk je počítačový programovací jazyk pôvodne navrhnutý na ulahčenie zautomatizovanie operácií v počítači. V dobe vzniku tohto typu programovacieho
  • XML formát správ komunikácie PHP skriptovací jazyk pre webové servery soap rozšírenie Java programovací jazyk ktorý vie pracovať s webovými službami
  • technológie na generovanie dynamického obsahu prostredníctvom skriptovacích jazykov napr. ASP alebo PHP a ďalšie ktoré inštruujú webový server ako zostrojiť
  • firmou Sun technológie napr.: JSP, JSF alebo Struts PHP - multiplatformový skriptovací jazyk XML - Extensible Markup Language, zohráva podstatnú úlohu
  • webový skriptovací jazyk ktorý sa vykonáva na strane servera tesne pred odoslaním stránky užívatelovi. SSI patrí k najstarším skriptovacím jazykom Používa
  • príkaz echo v skriptovacom jazyku mIRC diskusné fórum na FidoNete, pozri Echo fidonet príkaz serverového skriptovacieho jazyka PHP film a komiks: polský

Users also searched:

...