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,

Slides:



Advertisements
Podobné prezentace
Web Michal Žůrek Jak se na něj dívám já..
Advertisements

Webové rozhraní pro datové úložiště
Úvod do platformy Java EE
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Formuláře Formuláře lze nalézt téměř na každém webu. Formuláře lze nalézt téměř na každém webu. Použití formulářů: Použití formulářů: Blog Blog Uživatelské.
Ing. Jan Mittner Rozšíření modelu 2. Vazba 1:n 3. Vazba m:n 2.
INTERNET.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Informační systém pro správu dokumentů a fotografií
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
Slide 1 A Free sample background from © 2003 By Default! Jiří Kůsa Testování propustnosti síťového firewallu.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
PHP – Základy programování
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu „Učíme moderně“ Registrační číslo projektu:
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
BAKALÁŘSKÁ PRÁCE Tomáš Janda
Databázové systémy Architektury DBS.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
Walter Schorge Archa – Open Source archivní informační systém v NTM Archivy, knihovny a muzea v digitálním světě
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
MAPGUIDE OPEN SOURCE - MAPOVÝ SERVER Student: Bc. Martin Soukup Předmět: GEIS Přednášející : R NDr. Tomáš Vaníček, P hD. Datum: Web:
WWW – hypertextový informační systém
Vývoj aplikací v jazyku Ruby Bakalářská práce Tomáš Kohout VTI.
Návrh a tvorba WWW Přednáška 13 Vývoj webových aplikací.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
Georeporty aplikované využití geoprostorových informací
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Elektronický registr oznámení Zpracoval(a): Mgr. František Rudecký
Aplikační programy, programovací jazyky, formáty datových souborů
Efektivní vývoj webů v ASP.NET 4.0 Tomáš Herceg Microsoft MVP Microsoft Student Partner
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
CZ.1.07/1.4.00/ VY_32_INOVACE_166_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
ISSS IS HN/SS Softwarová architektura informačního systému hmotné nouze a sociálních služeb Jindřich Štěpánek
Základní rozdělení činností v podnikové informatice
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Vysoká škola báňská - Technická univerzita Ostrava Hornicko-geologická fakulta Institut ekonomiky a systémů řízení obor Geografické informační systémy.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
PHP Programy pro tvorbu WWW stránek - 01
„ Rozšíření možností vizualizace geodat
Jan Růžička, Leden /01/05 Proč pro prezentaci prostorových dat využívat nástrojů WWW Nízké náklady na vybavení klientského počítače Snadné zvýšení.
Systém pro sledování vývoje cen produktů AVT LS 2015 Petr Kalas.
JavaScript úvod. Jazyky webového vývojáře Dynamická stránka  aktivně mění svůj obsah v reakci na činnost uživatele  zpracování na straně serveru (PHP,
Publikujeme s Autodesk MapGuide v.5.0 Ing. Jan Růžička, Dr. Ing. Jiří Horák VŠB-Technická univerzita Ostrava
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
EVŠKP na OU cesta integrace 10. Listopad, 2005 Jiří Šimonek a Robert Bohoněk Centrum Informačních Technologií Ostravská univerzita.
ORSOFT RADNICE OPEN – ÚVODNÍ SEZNÁMENÍ Petra Hoffmanová.
EU peníze školám Registrační číslo projektu CZ.1.07/1.4.00/ Název projektu Inovace školství Šablona - název Inovace a zkvalitnění výuky prostřednictvím.
© 2016 InterSystems Corporation. All rights reserved. Integrace OAuth 2.0 a OpenID Connect.
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_034.ICT.34 Tvorba webových stránek – PHP technologie.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY MVC vs MVP.
SOFTWARE Operační systémy.
školák Piš a sdílej své sešity, jednoduše, rychle, v pohodě.
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
Evidence aplikací a jejich dokumentace
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
CHARAKTERISTIKA INTERNETU
PRŮBĚH DOKUMENTACE UNIVERZITNÍHO INFORMAČNÍHO SYSTÉMU MZLU V BRNĚ
Vytvoření IS pro správu místností v prostředí WWW
Název školy: Střední odborná škola stavební Karlovy Vary
Web Application Scanning
Transkript prezentace:

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. 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.

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 (Common Gateway Interface). CGI je protokol, který umožňoval pouštět skripty na webovém serveru a zobrazoval požadovaný výstup klientovi.

Framework

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.

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.

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.

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í.

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

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 (Application Programming Interface), podporu pro návrhové vzory nebo doporučené postupy při vývoji.

Časové milníky frameworků

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í.

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í ů. Komponenty nemusí být pro každý projekt znovu opisovány, ale mohou být použity i opakovaně.

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 frameworku Zend byla velmi lehce odůvodnitelná, jelikož společnost Zend Technologies je autorem PHP jazyka.

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 Tato verze nebyla doporučena pro praxi, ale nabízela některé komponenty, které dodnes tvoří jádro Zend Frameworku. První produktivní verze vznikla v červenci 2007.

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.

Codeigniter Codeigniter je open source framework, který vznikl v roce 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í.

Symfony Ze vzoru MVC vychází znovu open source framework Symfony. Jeho vývoj je podporován společností Sensio Labs, 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.

Yii Yii je zkratkou hesla: „Yes it is!“. Jako ostatní open source frameworky byl i tento při tvorbě inspirován návrhovým vzorem MVC. Yii framework 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 frameworku Qiang Xue, dříve pracoval na jiném PHP frameworku Prado. 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.

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á Nette Foundation. Dne 27. ledna 2012 byla vydána očekávaná verze 2.0. První verze Nette Frameworku byla vytvořena v roce 2008.

MVC architektura Model View Controller 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.

Průběh požadavku v MVC architektuře 1.Úvod každého požadavku je v odeslání HTTP požadavku na server. 2.Poté je tento požadavek řadičem přijat a dále zpracován. 3.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. 4.Pak řadič zjistí pohled potřebný pro výpis dat a předá mu data, která jsou pak vypsána. 5.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.

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.

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í.

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, action controller a návrhový vzor. Klíčová komponenta je Front Controller, který přijme požadavek, zpracuje ho a osloví další komponenty.

Komparace PHP frameworků PHP framework PHP 4PHP 5MVCModulyORMEDP ZendNEANO NE SymfonyNEANO NE CakePHPANO NE CodeIgniterANO NE YiiNEANO NetteNEANO NEANO 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.

Komparace PHP frameworků PHP framework AutentizaceCacheValidator ZendANO SymfonyANO CakePHPANO CodeIgniterNEANO YiiANO NetteANO Autentizace: Podpora autentizačních (přihlašovacích) modulů. Cache: Podpora cachovacích nástrojů. Validator: Podpora validování údajů.

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

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í.