Katedra informatiky Pøírodovìdecká fakulta Univerzita Palackého Tø. 17. listopadu 12 771 46 Olomouc POSUDEK BAKALÁØSKÉ DIPLOMOVÉ PRÁCE Název bakaláøské práce: Aplikaèní rámec pro PHP v èeštinì Diplomant: Libor Peèinka Autor posudku: Mgr. Jan Outrata, Ph.D. vedoucí práce V pøedložené práci si diplomant vytyèil nemalé cíle a to srovnání v èeském webovém prostøedí nejvýraznìjších zástupcù aplikaèních rámcù (frameworkù) pro tvorbu dynamických webových stránek v PHP a zejména pak vytvoøení vlastního frameworku s èesky psaným zdrojovým kódem a dokumentací. Neodmyslitelnou souèástí zadání bylo rovnìž vytvoøení ukázkové srovnávací aplikace ve všech frameworcích. Výsledný framework, psaný s ohledem na bezpeènost, je plnì srovnatelný s existujícími konkurenty, kterými jsou v práci známé frameworky Nette a Zend. Nejsou v nìm sice implementovány nìkteré vìci ze zadání, jako registrace a správa úètù uživatelù nebo editace stránky, ale zato je implementována široká sada obecnìjších nástrojù standardnì poskytovaných frameworky jako podpora šablon (díky architektuøe MVC), databázové rozhraní (pøevzaté z frameworku Nette), tvorba formuláøù, cachování vygenerovaných stránek, autentizace a autorizace uživatelù, komfortní ladìní aj. Odlišující stránkou frameworku je ovšem èesky psaný zdrojový kód (pozn. bez diakritiky, z dùvodu maximální kompatibility napøíè webovými prohlížeèi a operaèními systémy a nesnadného použití diakritiky v URL), vèetnì zjednodušených chybových zpráv PHP pøeložených do èeštiny a samozøejmì nechybí èeská programátorská dokumentace pro tvùrce aplikací ve frameworku. Jako demonstraèní aplikace byla diplomantem ve všech srovnávaných frameworcích vytvoøena aplikace blogu. Škoda že diplomant v rámci testování svého frameworku nepožádal nìkterého kolegu webového programátora v PHP o vytvoøení aplikace v jeho frameworku. Vytvoøení vlastního PHP frameworku srovnatelného s existujícími, vyvíjenými delší dobu vìtší skupinou lidí, a ukázkové aplikace blogu zabralo jistì mnoho práce a diplomant pøi tom nabyl cenných zkušeností. I když mám jisté výhrady k textu práce, viz dále, jsem s prací spokojen a cíle byly témìø beze zbytku naplnìny. Text práce je velice dobøe napsaný, bez gramatických chyb a s minimem pøeklepù. Bohužel až na èásti 5 a 6 (tvoøící tøetinu textu), kde je èasto malé první písmeno na zaèátku vìty. Po struèném úvodu do PHP provázeném pøíklady a precizní analýze ukázkové aplikace následuje ponìkud delší pøedstavení srovnávaných existujících frameworkù, vèetnì závìru a doporuèení použití, leè porovnání co se týèe nároènosti vytvoøení aplikace v nich je pouze naznaèeno. V èásti 5 je popis implementace frameworku a jeho vlastností, ve stìžejní èásti 6 „Programátorská pøíruèkaì jsou pak popsány jednotlivé èásti ukázkové aplikace vèetnì ukázek zdrojového kódu, žel pouze izolovanì, spíše formou poznámek k implementaci. To pro pochopení implementace aplikace ve frameworku od zaèátku do konce nestaèí. Oèekával jsem, a to mi zde nejvíc chybí, celkový obraz kódu aplikace nebo ještì lépe postup její tvorby (a nasazení) typicky ve formì prùvodce nebo tutoriálu. Tímto není zcela naplnìn jeden dùležitý bod ze zadání práce. Nakonec, po delší úvaze, jsem se rozhodl i pøes tento nedostatek a vzhledem k objemu a nároènosti práce tuto ho hodnotit známkou výbornì. V Olomouci dne 17.8.2010