„Programátor by měl být v prvé řadě líný.“. PIFovo Web API (API = Application Programming Interface)

Slides:



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

Systém Drupal a nejen školní weby
Vývoj aplikací s využitím JavaFX
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Ing. Jan Mittner Profiling aplikací 2. Zend_Cache 3. Optimalizace výkonu databáze 4. Optimalizace rychlosti načítání webu 5. Další tipy.
Zpracování SQL Lubomír Andrle 5. přednáška
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á.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Možnosti implementace temporálních Databází v Caché Lukáš Rychnovský
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
PHP a MySQL Připojení k databázi:
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
Popis systému DBMAN. Obecná charakteristika Systém DBMAN vychází ze snahy maximálně zobecnit přístup k datům v jednoduchých databázích. Původním záměrem.
Š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.
Databázové systémy 2 Cvičení V Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky
Novinky a strategie společnosti Vema, a. s.
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í :
Relační databáze.
Pokroky v technologiích (1) Od Zen reportů ke grafickému návrháři DeepSee reportů.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
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.
Principals, Securables, Schema Vít Ochozka. Entity databáze - zdroje Securables –Entity databáze (zdroje), ke kterým SQL reguluje přístup podle práv –Hierachie.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
Návrh a tvorba WWW Cvičení 7 PHP & Oracle - Bezpečnost.
Unifikovaná architektura databáze Katsiaryna Chernik.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Mozilla z pohledu vývojáře David Majda, CZilla — prezentace na předmět Linux (SWI043) na MFF UK.
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.
Čí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ý.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
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.
Aplikační role Vít Ochozka. K čemu nám slouží Omezit přístup k databázi AKORD jen prostřednictvím konkrétní aplikace Jiné aplikace – MS excel, MS access,
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Aplikační a programové vybavení
Úvod do PHP IZI 228.
123.
2008 Fakulta elektrotechniky a informatiky VŠB – TECHNICKÁ UNIVERZITA OSTRAVA.
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.
Interní knihovní systém Závěrečná prezentace aneb máte toho půl míče?
Akademie ZENU Ukázková aplikace. Tak o tomhle to nebude…
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í.
Popis systému DBMAN (KEVIS). Obecná charakteristika Systém DBMAN vychází ze snahy maximálně zobecnit přístup k datům v jednoduchých databázích. Původním.
Semestrální projekt Správa webových konferencí Mendelova univerzita Aplikace vývojových technik Jakub Matoušek Květen 2012.
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.
AVT projekt Ondřej Janošík. Základní informace Zadání projektu – SQL SELECT generátor Proč právě tento projekt? Úvod do problematiky – SQL (select)
Dynamická webová aplikace Autor:Ondřej Soukup Třída:I3.
Hotel Tatra, Velké Karlovice 23. – 25. dubna 2007 S4U – Seminář o Univerzitním informačním systému 1 Pár slov o sazbě výstupních dokumentů Jiří Rybička.
© 2016 InterSystems Corporation. All rights reserved. Integrace OAuth 2.0 a OpenID Connect.
Zahradnická fakulta v Lednici S4U – Seminář o Univerzitním informačním systému 23. – 25. dubna 2008 S 4 U – Seminář o Univerzitním informačním systému.
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ů)
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.
Demoverze QI Informace pro partnery DCC
Vytvoření IS pro správu místností v prostředí WWW
{ PORTFOLIO }.
Přednáška 9 Triggery.
Transkript prezentace:

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

PIFovo Web API (API = Application Programming Interface)

Co to je 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  Jednoduchá rozšiřitelnost  Snadná správa vývojových prostředí  Oddělení aplikační a prezentační sféry  Zobecnění a zjednodušení opakujících se rutinních úloh při programování  Nezávislost na databázové platformě  Podpora multijazyčných prezentací  Efektivní cache

Fyzická správa kódu PWAPI core workspaces (vývojová prostředí) mamut.cz php section user (frontend) section admin (backend) šablony skin user (frontend)skin admin (backend) config nastavení plugins obrázky, js, css, … … globální třídyglobální knihovny

Vývojová prostředí Ostrý server zákazníka Testovací server Vývojový server localhost  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.  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.

Programátorský model

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 name: text: {$errors}{$notices} {$gb->paging->getXHTML()} {foreach key=cid item=con from=$gb} {$con->name} v {$con->date} {$con->text} {/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

© 2005 – 2006 Vojtěch “PIF” Schlesinger Oficiální stránky  Dokumentace: 