Prohlá²ení. V Praze dne 18. dubna 2010...

Podobné dokumenty
Studentova berli ka III Jádro aplikace

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Online komunikace a videokonference

BOZP - akcepta ní testy

Specifikace systému ESHOP

Binární operace. Úvod. Pomocný text

Integrování jako opak derivování

DeepBurner (testování UI)

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

2C Tisk-ePROJEKTY

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

ESKÁ ZEM D LSKÁ UNIVERZITA V PRAZE

Skalární sou in. Úvod. Denice skalárního sou inu

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM

Uºivatelská p íru ka Octopus

Kelvin v kapkový generátor

Knihovna QT4 a moºnosti jejího vyuºití

Metodická pomůcka pro hodnotitele

Limity funkcí v nevlastních bodech. Obsah

Konceptuální modelování

Dotazování nad stromem abstraktní syntaxe

Vektory. Vektorové veli iny

Informace veřejného sektoru zdroj surovin pro informace a znalosti ve firmě

Inovace (praxe) 1 Úvod, p edstavení rmy, omezení práce. 16. listopadu 2010, Organizace a informace. Karel Kohout

Ovoce do škol Příručka pro žadatele

Charakteristika kurzu BE4

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Vyhlášení opakované veřejné soutěže 1/6

Vektor náhodných veli in - práce s více prom nnými

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

PLÁN INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Kvalifika ní dokumentace k ve ejné zakázce malého rozsahu

DUM 05 téma: Základy obsluha Gimp

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

P epravní za ízení pro palivový lánek IRT-4M

SEZNAM DOKUMENTACE K ZADÁVACÍMU ŘÍZENÍ PRV,

Obec Ždánov Ždánov 49, Domažlice osoba oprávněná k podpisu smlouvy: JUDr. Václav Pflug, starosta IČ:

IP kamerový systém Catr - uºivatelský návod k obsluze

Aktualizace softwaru Uživatelská příručka

Věznice soběstačné město. Atelier Jana épky a Mirky T mové, VUT FA zimní semestr 2012 / 2013

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

Pravd podobnost a statistika - cvi ení. Simona Domesová místnost: RA310 (budova CPIT) web:

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

Obec Nová Ves. Zm na. 1, kterou se m ní Územní plán Nová Ves

Rozvojový projekt na rok 2012

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

Přijímací řízení ve školním roce 2012/ Informace pro vycházející žáky a zákonné zástupce

Mapa kamer mobilní aplikace pro Android

Rozšířená nastavení. Kapitola 4

HW vybavení nov vybudovaného datového centra SSZ (Zvýšení kapacity Datového úložišt )

Postup šetření pro rok Ministerstvo pro místní rozvoj Odbor veřejného investování

1. LUKÁŠ ÍŽEK, bytem KRAVSKO 114, 67151, KRAVSKO, nar , 2. MILUŠE ÍŽKOVÁ, bytem KRAVSKO 114, 67151, KRAVSKO, nar

P íprava projektové ádosti. Seminá PAAK - P íprava projekt

Vážení klienti, Upozorníme i na praktické důsledky nesjednání pravidelného pracoviště při poskytování cestovních náhrad. TaxVision, s.r.o.

ICT plán školy 2015/2016

Návrh individuálního národního projektu. Podpora procesů uznávání UNIV 2 systém

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH)

Č E S K Á Š K O L N Í I N S P E K C E. Základní škola a městské osmileté gymnázium Bruntál, Školní 2, PSČ

Kvalifikační dokumentace k veřejné zakázce dle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon )

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

Android Elizabeth. Verze: 1.3

ORGANIZAČNÍ ŘÁD ŠKOLY

VÝZVA K PODÁNÍ NABÍDEK A PROKÁZÁNÍ SPLNĚNÍ KVALIFIKACE A ZADÁVACÍ DOKUMENTACE

GENDEROVĚ PŘÁTELSKÝ ÚŘAD SLANÝ PODKLAD K E-LEARNINGOVÉMU KURZU

Krajský úřad Olomouckého kraje Odbor strategického rozvoje kraje Jeremenkova 40a, Olomouc

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Inovace výuky prostřednictvím šablon pro SŠ

kolní ád Mate ské koly, sou ásti Základní koly Bílá 1, Praha 6 (dále jen mate ská kola )

POZVÁNKA NA MIMOŘÁDNOU VALNOU HROMADU

Co postrádají absolventi eských vysokých škol v praxi aneb co nám škola nedala

účetních informací státu při přenosu účetního záznamu,

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO

HLAVA III PODROBNOSTI O VEDENÍ ÚST EDNÍHO SEZNAMU OCHRANY P ÍRODY

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

téma: Formuláře v MS Access

Vytvo ení informa ního systému s vysokou dostupností pro správu asového výkaznictví. Bc. Petr Janura

Výuka matematiky v 21. století na S technického typu

Obec Jino any : , Jino any

1 Data. 2 Výsledky m ení velikostí. Statistika velikostí výtrus. Roman Ma ák

EDUX - personalizace UI. Luká² Komárek. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta ové graky a interakce

Odpov di na dotazy uchaze k ve ejné zakázce. 25/

Informace a návod k pouºití ablony pro BP student FZS v Plzni. Ing. Petr V elák 20. únor 2012

Zápis číslo 2 ze zasedání Zastupitelstva obce Libotov ze dne 26. března 2014

Odpov di na dotazy k ve ejné zakázce. 30/ SSZ Registr IKP

KVALIFIKA NÍ DOKUMENTACE

Interaktivní nástroj pro kreslení schémat logických obvod. Robert korpil. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická

Návod pro vzdálené p ipojení do sít UP pomocí VPN pro MS Windows 7

Operační systémy Rozdělení a popis. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1124_Operační systémy Rozdělení a popis_pwp

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

SPOLE NÉ PROHLÁŠENÍ SMLUVNÍCH STRAN DOHODY O SOU ASNÉM ROZŠÍ ENÍ EVROPSKÉ UNIE A EVROPSKÉHO HOSPODÁ SKÉHO PROSTORU

oprávn ného: Statutární m sto Karviná, se sídlem Fryštátská 72/1, 73301, Karviná, I proti povinnému:

Fyzikální praktikum 3

JIHOČESKÝ KRAJ KRAJSKÝ ÚŘAD

Transkript:

ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Studentova Berli ka III - Jádro aplikace Jaromír Van k Vedoucí práce: Ing. Ji í Chludil Studijní program: Softwarové technologie a management, Bakalá ský Obor: Softwarové inºenýrství 18. dubna 2010

Pod kování iv

v Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ60 Zákona. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne 18. dubna 2010.............................................................

Abstract Translation of Czech abstract into English. Abstrakt Tato práce se zabývá návrhem a následnou realizací jádra systému Studentova berli ka, který byl vyvíjen v minulých letech v rámci bakalá ských a diplomových prací. Systém Studentova berli ka e²í problematiku elektronické komunikace mezi studenty, cvi ícími a p edná²ejícími. Ú elem je umoºnit studentovi být informován o svých studijních výsledcích, cvi ícím a p edná²ejícím kvalitn j²í a jednodu²²í organizaci p edm tu. Cílem práce je p epracovat stávající systém tak, aby mohl být do budoucna roz²i ován a integrován s dal²ími zásuvnými moduly. vi

Obsah 1 Úvod 1 1.1 Existující informa ní systémy........................... 1 1.1.1 Univerzitní informa ní systémy...................... 2 1.1.2 Systémy pro podporu jednotlivých p edm t.............. 2 1.1.3 Historie systému Studentova berli ka................... 2 2 Popis problému, specikace cíle 4 2.1 Sou asný stav systému Studentova berli ka................... 4 3 Analýza 5 3.1 Volba programovacího jazyka........................... 5 3.1.1 Java Enterprise Edition.......................... 5 3.1.2 PHP..................................... 5 3.1.2.1 Výhody.............................. 6 3.1.2.2 Nevýhody............................. 6 3.2 Databázové úloºi²t, komunikace s databází................... 6 3.2.1 PDO..................................... 6 3.2.2 MySQL................................... 7 3.2.3 Historie................................... 7 3.2.4 Výhody a nevýhody............................ 7 4 Návrh e²ení 9 4.1 Celkový pohled na architekturu.......................... 9 5 Realizace 11 6 Testování 12 7 Záv r 13 Literatura 14 vii

Seznam obrázk 1.1 Ukázka první verze systému Studentova berli ka. Zdroj [1]........... 2 3.1 Vloºená abstraktní datová vrstva......................... 8 4.1 Celkový pohled na architekturu jádra....................... 10 viii

Seznam tabulek 3.1 Podporované databázové systémy......................... 7 ix

Kapitola 1 Úvod Studium na dne²ní moderní vysoké ²kole klade na studenty vysoké nároky a velké mnoºství povinností. Aby mohl student t mto nárok m vyhov t musí být v prvé ád o svých povinnostech a výsledcích co nejlépe informován. D leºité je najít kompromis mezi náro ností na drahocenný as cvi ícího a informovaností studenta. V n kterých p edm tech není toto zatím vy e²eno, coº vede k n kterým nep íjemným jev m: cvi ící nosí výsledky test pouze v písemné form u sebe, nejsou nikde zve ejn ny studenti musí na výsledky ekat minimáln týden i p esto, ºe testy jsou opraveny dríve pokud student na cvi ení absentuje, nemá ²anci se své výsledky dozv d t studenti poté asto pí²í osobní e-maily s ºádostí o sv j výsledek, coº zdrºuje jak cvi ící, tak samotné studenty cvi ící zve ej uje výsledky na svých osobních webových stránkách neexistuje ºádný ociální rozcestník jednotlivých webových stránek, student tak netu²í, kde výsledky hledat údrºba vlastních stránek je pro cvi ícího zbyte n asov náro ná studijní výsledky jsou povaºovány za osobní údaj a nem ly by být bez souhlasu zve ej ovány 1.1 Existující informa ní systémy Na základ zmi ovaných nep íjemností vznikají r zné pomocné nástroje, které by komunikaci mezi studenty a kantory zjednodu²ovali. V rámci ƒvut, potaºmo Fakulty elektrotechnické existuje ada systém, které toto e²í. Jejich problémem ov²em v t²inou je, ºe kaºdý takový systém vystupuje sám za sebe, není nijak integrován s ostatními a není moºnost, jak ho dále vylep²ovat a roz²i ovat. Typicky se tak stává, ºe student pot ebuje ke svému fungování v rámci ²koly n kolik r zných uºivatelských jmen a hesel, aby do r zných systém mohl p istupovat (a koli je pravdou, ºe se situace za dobu mého studia znateln zlep²ila). 1

KAPITOLA 1. ÚVOD 2 1.1.1 Univerzitní informa ní systémy Jednou skupinou systém pro podporu výuky jsou velmi rozsáhlé informa ní systémy zam ené na studium na vysoké ²kole jako na celek. P íkladem takového systému je Komponenta Studium (známá jako KOS) doprovázející studenty po celou dobu studia na v²ech fakultách ƒvut. KOS umoº uje student m zápis p edm t, tvorbu a zobrazení rozvrhu, p ihla²ování ke zkou²kám, p ehled pln ní studijního plánu, p ehled známek z absolvovaných p edm t a adu dal²ích funkcí, které z velké ásti nahrazují osobní komunikaci se studijním odd lením. P edchozí odstavec p evzat z [2] 1.1.2 Systémy pro podporu jednotlivých p edm t Jak uº bylo zmín no. Nejjednodu²²í formou systému pro podpory je soubor statických webových stránek. Tento p ístup pouºívá Service - K336 Community Web Server 1, který pouºívá Katedra po íta. Lep²í moºností je vyuºití systému zaloºeném na koncepci wiki (pouºívá nap íklad Eduweb 2 ), z d vodu men²í náro nosti p i tvo ení a aktualizaci obsahu. Ideálním e²ením je pouºití úzce specializovaného systému, který je vytvo en p ímo a pouze pro podporu výuky. Takovým systémem je práv Studentova berli ka 3. 1.1.3 Historie systému Studentova berli ka První verze Studentovy berli ka byla vytvo ena v zimním semestru 2005/2006 pro pot eby p edm tu DSA (Datové Struktury a Algoritmy) vedeným Ing. Ji ím Chludilem. Jednalo se (alespo ve srovnání se sou asnou podobou) o primitivní dynamickou stránku, která umoºnovala zadávat a prohlíºet hodnocení v daných t ídách. Obrázek 1.1: Ukázka první verze systému Studentova berli ka. Zdroj [1] V druhé verzi do²lo k zobecn ní systému, aby mohl být pouºit i v jiných p edm tech neº jen DSA. Nová verze p inesla mnohá vylep²ení jako moºnost evidovat docházku nebo 1 http://service.felk.cvut.cz/service.html 2 http://eduweb.fel.cvut.cz/ 3 http://berlicka.jagu.cz

KAPITOLA 1. ÚVOD 3 zadávat semestrální práce a poté evidovat jejich výsledky. Od roku 2007 je systém pouºíván v ostrém provozu pro p edm ty TIN (Teoretická informatika) a DSA (Datové struktury a algoritmy). Podrobnosti k t mto dv ma verzím lze nalézt v bakalá ské a diplomové práci jejich autora Ji ího Hunky [1]. V dal²ích letech, konkrétn v akedemickém roce 2008/2009, bylo rozhodnuto, ºe dal²í vývoj Studentovi berli ky bude sm ován k modulární architektu e. V souvislosti s tím mohla být zahájena práce na n kolika paralelních samostatných projektech, které funk nost Berli ky roz²i ují: Plugn-in support (BP) Marek Sacha Managment webu semestrálních prací (BP) Jakub Fi²er Generování test (BP) Ji í And l Automatické vyhodnocení test (BP) Petr Kotek Rozhraní pro Studentovu Berli ku (SP, pokra uje do DP) Lud k Chmurovský

Kapitola 2 Popis problému, specikace cíle 2.1 Sou asný stav systému Studentova berli ka Popis e²eného problému, vymezení cíl DP/BP a poºadavk na implementovaný systém. Popis struktury DP/BP ve vztahu k vyty eným cíl m. Re²er²ní zpracování existujících implementací, pokud jsou známy. 4

Kapitola 3 Analýza 3.1 Volba programovacího jazyka P i výb ru programovacího jazyka pro webové aplikace p ipadaly v sou asné dob v úvahu dv nejpouºívan j²í varianty. Jazyk Java na platform Java EE, nebo skriptovací jazyk PHP [5]. 3.1.1 Java Enterprise Edition Java EE (d íve ozna ovaná jako J2EE) je platforma pro vývoj tzv. enterprise aplikací. Poskytuje sadu specikací pro vytvá ení a provoz v t²ích distribuovaných multivrstevnatých Java aplikací. Hlavním d vodem pro nepouºití této technologie pro vývoj jádra aplikace Berli ka je zbyte ná komplexnost. 3.1.2 PHP Skriptovací programovací jazyk ur ený hlavn k vývoji webových aplikací. Historie PHP sahá aº do roku 1995, kdy p vodní autor Rasmus Lerdorf p edstavil sadu skript, které nazval Personal Home Page Tools. Do roku 1997 byla vytvo ena verze 2.0, která uº byla implementována v jazyce C, zatímco p vodní skripty byly v jazyku Perl. V roce 1997 zárove p vodní zdrojové kódy p evzali pánové Andi Gutmans a Zeev Suraski. Tyto kompletn p epsali a v polovin roku vydali jako verzi PHP 3.0, která dokonce roku dosáhla 10% podílu mezi webovými servery na internetu. Okamºit po vydání t etí verze za ali oba auto i pracovat na dal²ím vylep²ení jazyka. Nová verze 4.0 zaloºená Zend Engine (Zend jako zkratka jmen Zeev a Andi) byla p edstavena v polovin roku 1999, zárove byla zaloºena rma Zend Technologies, která se o vývoj jazyka PHP stará dodnes. V sou asnosti nejpouºívan j²í verzí jazyka PHP je verze 5 (p edstavena v roce 2004) a od ní odvozené varianty (nap íklad v sou asné dob nejnov j²í verze 5.3.2). Nejd leºit j²ími novinkami, které p i²ly s verzí PHP 5, byla nová vylep²ená podpora OOP a abstraktní datová vrstva PDO, o které se také budu podrobn ji zmi ovat dále v textu v souvislosti se svojí prací.[4] 5

KAPITOLA 3. ANALÝZA 6 3.1.2.1 Výhody Velká rozsáhlost funkcí p ímo v základní verzi Velké mnoºství roz²i ujících knihoven, které pokryvají v t²inu b ºných pot eb Nativní podpora mnoha databázových systém Multiplatformnost Pravd podobn stále nejpouºívan j²í jazyk pro psaní webových aplikací a z toho vyplývající rozsáhlost uºivatelské komunity Jednoduchá instalace na serveru, velké mnoºství server podporující hosting PHP Dobrý manuál 3.1.2.2 Nevýhody Zatíºenost historickým vývojem Nedokonalá podpora OOP Míchání objektového a procedurálního p ístupu v²echny p vodní nativní funkce jsou pouºívány jako procedurální Nekonzistentní pojmenování nativních funkcí a nejednotnost v logice po adí parametr Není zaru ena zp tná kompatibilita Nativní funkce nevyhazují výjimky (ty byly p idány do PHP aº od verze 5) Po zpracování poºadavku se ztrácí kontext aplikace p i kaºdém poºadavku vzniká nové vlákno, p ípdn proces, musí se navázat nové spojení s databází apod. Z p edchozího bodu vyplývající slab²í výkon 3.2 Databázové úloºi²t, komunikace s databází Výb r konkrétní databáze byl áste n limitován moºnostmi jazyka PHP. Pro p ístup do databáze bylo pouºito rozhraní PDO[3], které podporuje v t²inu znám j²ích databázových systému. Kompletní seznam k dispozici níºe. 3.2.1 PDO PDO (PHP Data Object) je abstraktní datová vrstva slouºící k jednotnému p ístupu k r zným databázím z jazyka PHP. Jedná se o sadu databázových ovlada, z nichº kaºdý musí implementovat dané standardizované rozhraní. Tím je zaji²t na konzistence p i jejich pouºívání. PDO se v jazyce PHP objevuje od verze 5.1.

KAPITOLA 3. ANALÝZA 7 Ovlada Podporované databáze PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase PDO_FIREBIRD Firebird/Interbase 6 PDO_IBM IBM DB2 PDO_INFORMIX IBM Informix Dynamic Server PDO_MYSQL MySQL 3.x/4.x/5.x PDO_OCI Oracle Call Interface PDO_ODBC ODBC v3 (IBM DB2, unixodbc and win32 ODBC) PDO_PGSQL PostgreSQL PDO_SQLITE SQLite 3 and SQLite 2 PDO_4D 4D Tabulka 3.1: Podporované databázové systémy 3.2.2 MySQL Z vý²e uvedených moºností byla vybraná jako nejvhodn j²í kandidát databáze MySQL. D - vody byly následující: p vodní systém Berli ky pouºívá také databázi MySQL pro snaº²í migraci dat je vhodné pouºít stejnou databázi na testovacím serveru dostupná zku²enosti len týmu nejvíce s touto databází 3.2.3 Historie Vydání první verze databazového systému MySQL se usute nilo roku 1995 rmou MySQL AB (která se pozd ji stala sou ástí Sun Microsystems nyní sou ástí Oracle). Tato první verze fungovalo pouze pod OS Linux a UNIX. Verze pro opera ní systém MS Windows byla p idána v roce 1998. Od roku 2005, kdy vychází MySQL verze 5.0 se stává plnohodnotnou databáz, která podporuje funkce jako: p edp ipravené dotazy (prepared statements), uloºené procedury (stored procedures), triggery, pohledy (views), transakce (transactions). 3.2.4 Výhody a nevýhody ²í ena pod licencí GPL moºnost pouºití zdarma moºnost pouºití r zných úloºi² (storage engines) MyISAM, InnoDB, MEMORY, CSV...

KAPITOLA 3. ANALÝZA 8 Obrázek 3.1: Vloºená abstraktní datová vrstva

Kapitola 4 Návrh e²ení 4.1 Celkový pohled na architekturu A koliv se tato práce zabývá pouze návrhem jádra aplikace, je d leºité se podívat na celkovou architekturu z v t²í perspektivy. 9

KAPITOLA 4. NÁVRH E ENÍ 10 Obrázek 4.1: Celkový pohled na architekturu jádra

Kapitola 5 Realizace Popis implementace/realizace se zam ením na nestandardní ásti e²ení. 11

Kapitola 6 Testování Zp sob, pr b h a výsledky testování. Srovnání s existujícími e²eními, pokud jsou známy. 12

Kapitola 7 Záv r Zhodnocení spln ní cíl DP/BP a vlastního p ínosu práce (p i formulaci je t eba vzít v potaz zadání práce). Diskuse dal²ího moºného pokra ování práce. 13

Literatura [1] J. Hunka. Studentova Berli ka. 2007. [2] P. Kotek. Studentova berli ka II - Automatické vyhodnocení test. 2009. [3] PHP: PDO - Manual. http://php.net/manual/en/book.pdo.php. [4] PHP: History of PHP - Manual. http://cz.php.net/manual/en/history.php.php. [5] PHP: Hypertext Preprocessor. http://php.net/. 14