123.

Slides:



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

Systém Drupal a nejen školní weby
Přístup k databázím z WWW
Nadpis Portál pro komunikaci s občany 1 Portál pro komunikaci s veřejností Portál pro komunikaci s veřejností DATRON, a.s. ing. Jaromír Látal projektový.
Vývoj aplikací s využitím JavaFX
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Zpracování SQL Lubomír Andrle 5. přednáška
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Aplikační a programové vybavení
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
„Programátor by měl být v prvé řadě líný.“. PIFovo Web API (API = Application Programming Interface)
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Možnosti implementace temporálních Databází v Caché Lukáš Rychnovský
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.
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.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Podnikový systém SEWSS Jakub Charvát STATISTICA Enterprise-wide SPC System.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
NET Genium software pro výstavbu a provoz informačního portálu Martin Vonka
Analýza informačního systému
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Vývoj aplikací pro SharePoint
Ú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í
Databázové systémy 2 Cvičení V Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky
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
Relační databáze.
Tomáš Urych, ESO9 Intranet a.s.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Databázové systémy Architektury DBS.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Unifikovaná architektura databáze Katsiaryna Chernik.
Představujeme Ensemble Michal Tomek. Na tomto obrázku vidíte, co systému Ensemble chybí:
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Macromedia Dreamweaver Software pro editaci kódu Bohuslav Čech3MA381.
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
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Úvod mapy pro orientační běh cíle práce stav řešené problematiky očekávané výsledky výsledky ukázka aplikace budoucnost aplikace.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B16 Autor Ing. Jiří Kalousek Období vytvoření březen.
Analýza infromačního systému. Matice afinity ISUD matice – Insert (vkládání dat) – Select (výběr dat) – Update (aktualizace dat) – Delete (vymazání dat)
Databázové modelování
Aplikační a programové vybavení
Úvod do PHP IZI 228.
Databáze velké množství dat pevně dané struktury
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. –
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B15 Autor Ing. Jiří Kalousek Období vytvoření březen.
Service layer. Service layer – úvod Problém  Vytvoření API aplikace  Odstínění bussiness logiky a transakčního chování od zbytku aplikace  Kam s aplikační.
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,
Návrh a tvorba WWW Semestrální práce. Termíny –20. října – odevzdání popisu práce pár větami popsat, jak bude vypadat a fungovat Vaše semestrální práce.
Dynamická webová aplikace Autor:Ondřej Soukup Třída:I3.
© 2016 InterSystems Corporation. All rights reserved. Integrace OAuth 2.0 a OpenID Connect.
Seminář k soutěži Parádní web 21. leden 2014 Ing. Kamil Válek tajemník Městského úřadu Uherský Brod.
Redakční systém – Content management system (CMS), publikační systém – Správa obsahu webu – Jednoduché publikování textů – Modulárnost (instalace doplňků)
HYPERTEXT PREPROCESSOR. JAZYK PHP. VYUŽITÍ JAZYKA Programování dynamických internetových stránek a webových aplikací vytvoření šablony webu kniha návštěv.
Redakční systém pro web nezávislých herních vývojářů
as4u advanced system for you
Demoverze QI Informace pro partnery DCC
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
TNPW1 JavaScript Ing. Jiří Štěpánek.
Vytvoření IS pro správu místností v prostředí WWW
Přednáška 9 Triggery.
Transkript prezentace:

123

„Programátor by měl být v prvé řadě líný.“ 123

PIFovo Web API (API = Application Programming Interface)

PWAPI Je to sada tříd a knihoven napsaných v objektovém PHP5 (framework) určených pro efektivní a jednoduché programování a úpravu webových prezentací.

Základní požadavky Usnadnění práce, ne její přidělání Kompaktní, avšak velice variabilní Jednoduchý objektový přístup k datům Snadná správa rozdílných konfigurací Podpora multijazyčných prezentací Struktura kódu je na programátorovi, ne na FW -> obstarává rámec

Charakteristika webu Vzhled stránky je pro každou prezentační vrstvu stejný, mění se jen obsah Obsah je uložen v databázi, ke kterému je přístup jak z uživatelské, tak z administrační vrstvy Často se přistupuje k databázi Web se mění podle toho, kde běží

Architektura OOP PHP5 Page – Storage - Template Stránka (PHP skript) Uložiště (PHP třída) Šablona (Smarty)

PWAPI konfigurace logika šablony různé vzhledy (frontend X backend) Fyzická struktura PWAPI konfigurace logika šablony různé vzhledy (frontend X backend)

Programátorský model

Vývojová prostředí Pod jedním PWAPI core kódem dokážeme spravovat nekonečný počet rozličných webů, takže je veškerý vývoj centralizován do jednoho adresáře. PWAPI se automaticky stará o nahrání příslušné konfigurace závislé na daném vývojovém prostředí, kdy předpokládáme, že stejný web bude finálně běžet na minimálně třech různých strojích a na každé toto prostředí jsou kladeny různé nároky.

Knihovna MyLiteDB Přístup ke každé tabulce probíhá na základě vylepšeného vzoru Active Record Odpadá složitá tvorba základních SQL dotazů INSERT, UPDATE, DELETE Zavedení standartizovaných už. typů pro jakýkoliv databázový sloupec, řešící běžné konverze dat (např. konverze pro formáty cen, datumu, texy! konverze, apod. Podpora rozhraní Iterator v databázovém výsledku pro PHP funkce foreach(), aj. Podpora automatického stránkování výsledku Snadný debug výpis dotazů společně s časovou náročností Automatický výběr sloupců z databáze odpovídající danému jazyku Platformová nezávislost

Uživatelské typy - rozhraní MyType Standartizované rozhraní pro tvorbu vlastních už. typů Vlastní už. typ vzniká děděním rodičovské třídy MyType Už. typ definuje rozličné konverzní funkce pro zápis anebo pro čtení z databáze MyType __construct(string $value, string $key, [string $type = 'TODB']) string getName () string getValue () string getValueFromDB () string getValueToDB ()

Příklad - už. typ MyDateNow class MyDateNow extends MyType { //konverze pro uložení dat do databáze – INSERT, UPDATE //vrátí řetězec odpovídající SQL funkci pro vložení času public function getValueToDB() { return 'NOW()'; } //konverze pro čtení pole typu Datetime v databázi //vrátí uživatelsky příjemně formátované datum public function getValueFromDB() { return Date("j.n.Y H:i",strtotime($this->value));

Příklad přístupu do databáze s MyLiteDB a PWAPI Ukázková aplikace: Návštěvní kniha se stránkováním

Návštěvní kniha - šablona <!– forum.tpl --> <form method='post' action='{urlSeo action="forum"}'> name: <input type='text' name='name' value='' /><br /> text: <textarea name='text'></textarea><br /> <input type='submit' value=' send ' /> </form> <!– vypsání možných chyb a stránkování --> <p>{$errors}{$notices}</p> <p>{$gb->paging->getXHTML()}</p> <!– procházení databázového výsledku --> {foreach key=cid item=con from=$gb} <div class='gb-prispevek'> <span>{$con->name}</span> v {$con->date} <p>{$con->text}</p> </div> {/foreach}

Návštěvní kniha – PHP kód class Forum extends ActiveRecord { } //vytvoření tabulky dle vzoru Active Record if( (!Empty($_POST) && (!Empty($_POST['name'])) && (!EMpty($_POST['text']))) { //Povinné údaje jsou vyplněny, uložíme do databáze $forum = new Forum('forum'); //vytvoření skladiště Active Record $forum->loadFromArray($_POST); //uložíme data z formuláře do objektu Forum $forum->setType('date','MyDateNow'); //konverze na aktuální datum $forum->setType('text','MyTexyString'); //konverze na texy formátovač if($forum->insert()) { //vykonání SQL dotazu INSERT do databáze Notice::getInstance()->setNotice('Váš příspěvek byl vložen.'); } else { Error::setError('Váš příspěvek NEbyl vložen.'); elseif(!Empty($_POST)) { Error::setError('Musíte zadat své jméno a text zprávy.'); $gb = MyLiteDb::getInstance()->pgexecute("SELECT * FROM forum ORDER BY date DESC"); $gb->setType('date','MyDateNow'); //konverze na formátování datumu $web->getTpl()->assign('gb',$gb); //výstup objektu do šablony

Oficiální stránky http://pwapi.broskev.cz Dokumentace: http://pwapi.broskev.cz/documentation/ © 2005 – 2007 Vojtěch “PIF” Schlesinger

Dotazy PWAPI::askNow( )