1 / 29

Workshop PHP + MySQL 2. část

Workshop PHP + MySQL 2. část. Frameworky. Framework. S rostoucím zájmem o webové stránky vzrůstal počet vývojářů, kteří se nasazením webových aplikací zabývali, a tím vznikaly opakující se postupy řešení pro stejné části jednotlivých úloh, díky tomuto efektu se začaly rozšiřovat frameworky .

miyo
Download Presentation

Workshop PHP + MySQL 2. část

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Workshop PHP + MySQL2. část Frameworky

  2. Framework • S rostoucím zájmem o webové stránky vzrůstal počet vývojářů, kteří se nasazením webových aplikací zabývali, a tím vznikaly opakující se postupy řešení pro stejné části jednotlivých úloh, díky tomuto efektu se začaly rozšiřovat frameworky. • Hlavním účelem frameworků je poskytnutí podpory při vývoji aplikaci ve formě např. návrhových vzorů, osvědčených postupů, programů a knihoven.

  3. Framework • První webová stránka s dynamickým obsahem byla vytvořena před koncem 20. století. Zrod dynamických stránek se datuje k roku 1993, kdy byl poprvé představen protokol CGI (CommonGateway Interface). CGI je protokol, který umožňoval pouštět skripty na webovém serveru a zobrazoval požadovaný výstup klientovi.

  4. Framework

  5. Framework • Se zvyšujícími se implementacemi se opakovaly různé postupy řešení a tímto vznikaly pracovní rámce (frameworky). Tyto frameworky zjednodušují práci vývojářům a tím došlo k zjednodušení tvorby webových stránek pro základní prvky.

  6. Framework • Vznik prvního frameworku se datuje k roku 1998, kdy bylo uvolněno první objektově orientované programování na základech jazyku Python. Byly publikovány tři open source balíčky: Bopo, Dokument Templete a BoboPOS, které byly nazvány Principia, v listopadu 1998 byl přejmenován na Zope.

  7. Framework • V roce 2001 byl publikován další framework pro vývoj stránek na webu. Tímto frameworkem byl Struts 1.0, vyroben firmou Apache. Jedná se o framework založený na MVC modelu (Model – View – Controller), základ pro většinu moderních frameworků. Tento framework umožnil spojení prvků HTML a JAVY.

  8. Framework • Dalším významný milník webových frameworků byl v roce 2005, kdy byl vytvořen velmi zajímavý framework Ruby On Rails, jak již název napovídá je založen na programovacím jazyku Ruby. Tento framework byl nejvíce využíván v zemi jeho původu a to v Japonsku, ale s anglickou dokumentací se rozšířil i do ostatních zemí.

  9. Framework • První významný framework pro programovací jazyk PHP byl CakePHP 1.0, který se nechal inspirovat úspěchem Ruby on Rails.

  10. Obecná definice framework • Framework je softwarová struktura, která slouží jako podpora při programování a vývoji a organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovny API (ApplicationProgrammingInterface), podporu pro návrhové vzory nebo doporučené postupy při vývoji.

  11. Časové milníky frameworků

  12. PHP a framework • Tento jazyk je oblíben u vývojářů webu hlavně z důvodu rychlého osvojení syntaxe, a také proto, že jej lze začít hned a zdarma používat. Obliba PHP ještě více stoupla s příchodem verze 5, z důvodu, že poskytuje služby objektového programování. Zásluhou této verze může být zařazeno do vývoje webů nekomplikované, ale zároveň velmi robustní objektové programování.

  13. PHP a framework • Na základě objektového programování začaly vznikat první frameworky k tomuto jazyku. V dnešní době můžeme nalézt velké množství open source PHP frameworků. PHP frameworky lze využít mnoha způsoby, jako jsou například komponenty pro opakující se úlohy, databázové dotazy, zpracování šablon, tvorba formulářů, ověřování údajů nebo posílání e-mailů. Komponenty nemusí být pro každý projekt znovu opisovány, ale mohou být použity i opakovaně.

  14. Google statistiky – PHP frameworky Z grafu je patrné, že v současné době postupně dochází ke stejnému využití všech PHP frameworků, zejména CodeIgniter a Yii vykazují vzestupnou tendenci popularity. Lze se domnívat, že předchozí nadvláda frameworkuZend byla velmi lehce odůvodnitelná, jelikož společnost Zend Technologies je autorem PHP jazyka.

  15. Zend Framework • Zend Framework je řazen mezi open source frameworky. Vytvořený a dále podporovaný firmou Zend. Tento framework nabízí i prostředky pro podporu AJAXu. Pracuje jako většina moderních frameworků v návrhovém vzoru MVC. Zend je se svými deseti miliony stažení z oficiálních serverů nejrozšířenější PHP framework. V březnu 2006 byla zveřejněna první verze s označením Pre Alfa Version 0.1.1. Tato verze nebyla doporučena pro praxi, ale nabízela některé komponenty, které dodnes tvoří jádro ZendFrameworku. První produktivní verze vznikla v červenci 2007.

  16. CAKEPHP • Michal Tatarynowicz vytvořil minimální verzi Rapid Application Framework v PHP, který považoval za velmi dobrý start pro kvalitní framework, proto jej dal k dispozici vývojářům, kteří dopracovali CakePHP do dnešní podoby. CakePHP je rychle se rozvíjející open source framework pro PHP, který poskytuje rozšiřitelnou architekturu pro vývoj, údržbu a zavádění aplikací. CakePHP je distribuován pod licencí MIT (Massachusetts Institute of Technology). Tento framework byl jedním z prvních frameworků pro PHP. Je postaven na základě úspěchů Ruby on Rails, není však jen jeho odnoží, přesto využívá několik jeho konceptů. CakePHP je kompatibilní s verzemi PHP 4 i 5. Tento framework také podporuje vzor MVC.

  17. Codeigniter • Codeigniter je open source framework, který vznikl v roce 2006. Opět založený na návrhovém vzoru MVC. Stejně jako CakePHP je kompatibilní s verzemi PHP 4 i 5. Najdeme zde několik užitečných pluginů pro práci s excelem, generátory PDF či geografické lokátory, které podle IP najdou pozici. Codeigniter je přiřazován k nejjednodušším PHP frameworkům na osvojení.

  18. Symfony • Ze vzoru MVC vychází znovu open source frameworkSymfony. Jeho vývoj je podporován společností SensioLabs, která provedla implementaci v PHP 5 a je distribuovaný pod licencí MIT. Tento Framework je inspirovaný jinými frameworky jako například Django, Ruby on Rails a tak dále. Vznik frameworku je datován k roku 2005.

  19. Yii • Yii je zkratkou hesla: „Yesitis!“. Jako ostatní open source frameworkybyl i tento při tvorbě inspirován návrhovým vzorem MVC. Yiiframework je mladý framework, který je však velmi výkonný. Jeho extrémně působivá výkonnost, v porovnání s jinými PHP frameworky, okamžitě zapůsobila na velké množství uživatelů. Tvůrce tohoto frameworkuQiangXue, dříve pracoval na jiném PHP frameworkuPrado. Zkušenosti s tímto frameworkem mu pomohly velmi rychle a profesionálně při vývoji aplikací na Web 2.0 (Google+, Twitter). Tento framework vznikl v prosinci 2008.

  20. Nette • Jedná se o open source MVC PHP frameworky a o český produkt. Není vůbec rozšířen v ostatních zemích, mimo České republiky, zaostává totiž v dokumentaci a způsobech řešení. V České republice se tento framework těší snad největší oblibě v komunitě mezi PHP vývojáři. Původním autorem je David Grudl a o jeho další vývoj se stará NetteFoundation. Dne 27. ledna 2012 byla vydána očekávaná verze 2.0. První verze NetteFrameworku byla vytvořena v roce 2008.

  21. MVC architektura • Model ViewController architektura je využívána několika moderními frameworky, které jsou určeny pro vývoj webových aplikací. Jedná se o rozdělení do tří základních komponent: údaje (Model), prezentace (pohled, anglicky View) a řízení (řadič, anglicky Controller). Každá z těchto komponent se stará o určitou část aplikace.

  22. Průběh požadavku v MVC architektuře Úvod každého požadavku je v odeslání HTTP požadavku na server. Poté je tento požadavek řadičem přijat a dále zpracován. Z toho požadavku řadič zjistí, který model musí být osloven, je-li to potřeba a chce od něj získat data. Pak řadič zjistí pohled potřebný pro výpis dat a předá mu data, která jsou pak vypsána. Na konec utvoří pohled výpis dat (HTML stránka) a řadič ho pošle zpět do prohlížeče uživatele ve formě HTTP odpovědi.

  23. MVC funkce modelu • Funkce modelu v MVC, model poskytuje funkce na čtení a zapisování dat a je zodpovědný za datovou vrstvu. Je důležité pochopit, že Model se nerovná Databáze. Ve většině architektur ukládá model data do relačních databází (MySQL, PostgreSQL). Model však může používat i jiná úložiště dat (textový soubor, RSS, Webová služba). Řadič ani pohled nemají přehled o tom, jak a v jaké formě ukládá model údaje. Ani ho nepotřebují, protože se model sám stará o ukládání. Řadič však musí poznat formát dat získaných od modelu, musí taktéž poznat jednotlivé metody modelu i jeho parametry, které předává metodám.

  24. MVC funkce pohledu • Funkce pohledu je zodpovědná za prezentační vrstvu v MVC architektuře. Od řadiče dostává data, která jsou určená na vypsání. Odkud však tyto data pocházejí, je pohledu jedno, ale musí poznat jejich typ a formát. V pohledu je možné mít také vlastní prezentační logiku pro výpis seznamů v tabulce nebo pro změnu barvy v řádcích tabulky. Pohled by měl být odloučen od ostatní business logiky, která aktualizuje či promazává data, odesílá poštu nebo se stará o autorizaci uživatele. Výpis pohledu se realizuje ve formě HTML stránky, která je odeslána do prohlížeče. Výpis však může být i v XML nebo CSV, které jsou pak nabídnuty ke stažení.

  25. MVC funkce řadiče • Funkce řadiče je zodpovědný za řídící vrstvu. Požadavek na řadič je vykonán odesláním HTTP požadavku z prohlížeče. Z toho řadič zjišťuje, který model má být osloven a který pohled má vykonat výpis dat. Odpověď je poté odeslána do prohlížeče pomocí HTTP odpovědi. Řadič se skládá z dílčích komponent, které pak implementují různé návrhové vzory. Nejznámější jsou front controller, actioncontroller a návrhový vzor. Klíčová komponenta je Front Controller, který přijme požadavek, zpracuje ho a osloví další komponenty.

  26. Komparace PHP frameworků PHP 4: Poskytuje podporu verze 4 jazyka PHP. PHP 5: Poskytuje podporu verze 5 jazyka PHP. MVC: Podpora architektury MVC. Moduly: Podpora dalších modulů jako jsou PDF, RSS apod. ORM: Objektový přístup pro vybírání dat z databáze. EDP: Ovlivnitelnost běhu aplikace pomocí myše a klávesnice.

  27. Komparace PHP frameworků Autentizace: Podpora autentizačních (přihlašovacích) modulů. Cache: Podpora cachovacích nástrojů. Validator: Podpora validování údajů.

  28. Praktická část • Seznámení se serverem edu.uhk.cz • Tvorba tabulek v MySQL • Tvorba samostatného skriptu pro připojení k databázi • Tvorba skriptu pro vkládání dat • Tvorba skriptu pro výpis dat • Tvorba skriptu pro editaci dat • Tvorba skriptu pro výmaz dat

  29. Zadaní samostatné práce • Maximální bodový zisk za tuto část je 5 bodů z celkového možného zisku 10 bodů za workshop PHP + MySQL. • Otevřete si zadani_prakticka_cast.pdf a vypracujte úkol samostatně. • Po vypracování bude provedeno hodnocení.

More Related