Pokud se používá tento framework, web se rozděluje do 3 základních částí (vrstev):

Rozměr: px
Začít zobrazení ze stránky:

Download "Pokud se používá tento framework, web se rozděluje do 3 základních částí (vrstev):"

Transkript

1 Celý eshop budvobraze.cz je založený na frameworku BitGooCz, který ale není veřejný, takže o něm není nikde na internetu možno najít jakékoli informace. Jedná se o můj vlastní framework a základní dokumentaci se pokusím sepsat do tohoto dokumentu. Přitom se budu odkazovat přímo do zdrojových kódů webu budvobraze.cz. Pokusím se ale příklady popisovat obecně, aby tento návod nebyl přímo závislý na konkrétní verzi webu. Kompletní zdrojové kódy nejsou nasazeny přímo na ostrém serveru (chybí tam nějaké zdrojové soubory, ze kterých jsou generovány jiné soubory). Ke kompletním zdrojovým kódům se lez dostat přes Subversion na adrese Subversion je součástí webhostingu savana.cz, takže k přístupovým údajům se lze dostat pokud máte přístup k hostingu (toto je stav k srpnu 2013). Licence: poskytuji tímto licenci používat framework BitGooCz libovolně kýmkoli, ale pouze pro vývoj (libovolných) webů (e-shopů nebo jiných webových systémů) pro Martina Popelku. Radim Urbášek 2013 Základy frameworku Framework BitGooCz spočívá hlavně ve 3 věcech: 1) Poskytuje určité podpůrné knihovny (třídy) pro práci s webem. 2) Definuje postupy a způsob, jak by se měl web psát, aby se pomohlo jeho přehlednosti. 3) Určitou část webu přímo řídí (více o tomto dále), což zjednodušuje tvorbu celé webové aplikace. UPOZORNĚNÍ: framework je (bohužel) navržen tak, že funguje pouze když je kořenový adresář namapován na kořenovou adresu serveru. Osobně mám Apache na lokálním PC nastaven tak, že když zadám tak se dostanu přímo do kořenového adresáře celé webové aplikace. Není možné aplikaci spustit např. z této adresy: V celém webu jsou totiž používány odkazy typu <a href="/zbozi/59"> takže by se přešlo na adresu i když by to mělo být Pokud se používá tento framework, web se rozděluje do 3 základních částí (vrstev): První vrstva První vrstva obsahuje třídy, které se starají o komunikaci s databází, získávání a ukládání dat. Třídy z této vrstvy by neměly zasahovat do jiných částí webu, jen do databáze. Tzn. veškerá komunikace, která je vyvolána těmito třídami (z první vrstvy), probíhá pouze s databází (případně s jiným vnějším zdrojem, např. odesílání mailů, připojení k nějaké webové službě, ale ne s jinou částí/vrstvou webu). Spojení s touto vrstvou je děláno tak, že ji volá vrstva druhá, tzn. že ve druhé vrstvě jsou vytvořeny instance tříd z první vrstvy a ve druhé vrstvě jsou volány veřejné metody tříd z první vrstvy. První vrstvě se často říká model. V BitGooCz frameworku má místo hlavně v adresáři /managers. Pokud se do tohoto adresáře podíváme, vidíme tam soubory (kde každý soubor odpovídá jedné třídě), jejichž jména končí vždy Manager.php. Každý tento manager rozšiřuje třídu DefaultManager, která obsahuje proměnnou $em s instancí třídy EntityManager (je nastavena v konstruktoru). EntityManager je první součást frameworku. Je to třída usnadňující práci s databázi. Její popis následuje v dalších částech tohoto návodu. Prozatím nám stačí, že je to určitý přístup k datům z MySQL databáze.

2 Všechny managery tedy mají k dispozici $em (EntityManager) a jsou složeny převážně jen z metod, které dělají konkrétní operace. Např. metoda getpieceofgoods($id) v GoodsManager nám vrátí objekt reprezentující jedno určité zboží podle jeho $id. Nebo addcountry(country $country) v CountryManager vloží do databáze nový stát. Podrobnosti souvisí s EntityManagerem, který je popsán dále v tomto návodu. První vrstva tedy spočívá pouze ve dvou bodech, popsaných v první odstavci: tzn. že jde jen o určitá pravidla, jak zapisovat třídy (Managery) a dále framework poskytuje jednu knihovnu pro usnadnění práce (EntityManager). Takže na první vrstvě se BitGooCz framework ještě ani nechová jako framework, spíš jako kombinace knihovny a standardu. Druhá vrstva Druhá vrstva ale využívá framework v největší míře a kombinuje všechny 3 body uvedené v první odstavci. Druhá vrstva, zvaná také jako controller, zjednodušeně v závislosti na požadavku (např. kliknutí uživatele na webu) vykoná určité metody různých Managerů z první vrstvy a poté předá řízení (vykonávání kódu) na třetí vrstvu (třetí vrstva se postará o vykreslení výsledku, neboli o zobrazení webu samotného). Pokud je ale něco na požadavku špatně (např. je odeslán formulář se špatnými daty), druhá vrstva na to zareaguje a podle toho zobrazí jiný výsledek (případně zavolá jiné metody z první vrstvy atd). Framework podporuje tzv. pěkné URL a to velmi jednoduchým způsobem: v souboru /.htaccess je jednoduché pravidlo, které předá vše na /index.php?url=původní_podoba_url_adresy, ale jen v případě, že URL NEobsahuje tečku. Pokud obsahuje, jedná se pravděpodobně o dotaz na obyčejný soubor (např. obrázek nebo CSS) a ne pěknou URL a tento soubor je zpracován normálně. Pokud tedy uživatel např. klikne na nějaký odkaz (s pěknou URL ), tak se předá řízení na /index.php, kde se vloží (include) jádro frameworku (soubor /bitgooczfw/bitgooczfw.php) a vytvoří instance frameworku, která se spustí (metoda run()). Vložené jádro frameworku obsahuje, kromě třídy samotné, i několik definic funkci a vloží (include) další části frameworku včetně konfiguračního souboru. Konfigurační soubor je /config.php (více o něm později). Adresář /bitgooczfw obsahuje 3 věci: 1) knihovny nutné k chodu frameworku (momentálně pouze /bitgooczfw/addendum), 2) soubory frameworku (všechny soubory začínající velkým písmenem), do kterých by se nemělo při vývoji webu vůbec zasahovat, 3) automaticky vygenerované soubory (začínající malým písmenem), kdo kterých by se také nemělo ručně zasahovat, protože jsou generovány automaticky (o tom kdy a jak se tyto soubory generují je napsáno dále). Znamená to tedy, že do adresáře /bitgooczfw se při vývoji webu vůbec nezasahuje a vývojář v podstatě nemusí vědět co v něm je a jak to funguje vevnitř. Abych se ale vrátil k původní myšlence, tak při kliknutí uživatele na nějaký odkaz (nebo odeslání formuláře atd.) se přes /index.php spustí kód frameworku, který poté řídí chod celé webové aplikace (konkrétně druhé vrstvy - controlleru). Podobně jako první vrstva má své místo hlavně v adresáři /managers, druhá vrstva má své místo hlavně v adresáři /actionbeans. Zde vidíme podobnou strukturu jako v případě adresáře managers. Jsou zde soubory končící ActionBean.php. Je tu i soubor DefaultActionBean.php, ze kterého dědí

3 všechny ostatní ActionBeany. Je tu ale jeden zásadní rozdíl. Zatímco Managery jsou vyvářeny (instanciovány) a jejich metody volány ve druhé vrstvě (právě v těchto ActionBeanech), tak ActionBeany jsou vytvářeny a jejich metody volány automaticky pomocí frameworku. Jednoduše řečeno, pokud chceme zobrazit zboží s ID = 5 pomocí url budvobraze.cz/zbozi/5, pak framework na základě určitých pravidel (jak jsou pravidla definována následuje dále) rozhodne o tom, že má spustit např. metodu showgoods() z GoodsActionBean. Toto je ale jen přibližný popis, ve skutečnosti je vše o něco složitější. Malá odbočka: Anotace v PHP. Anotace je definice určité datové struktury, která se vkládá do komentářů /** anotace... */ těsně před třídu, metodu nebo atribut (proměnnou třídy). Tímto je tedy možné přidat ke konkrétním metodám určité další dodatečné informace, které si framework může přečíst a podle nich pak s danou třídou naložit. Syntaxe anotací je popsána zde: V BitGooCz frameworku se anotace používají hlavně v ActionBeanech. (Používají se i v tzv. Entitách, ale o tom až později.) Event metody Zpět k ActionBeanům. Obsah ActionBeanů (tříd), tzn. jejich metody a atributy (atributem je v tomto textu myšlena proměnná definované ve třídě (mimo metodu), která má často k sobě getter a setter), jsou děleny na několik částí/skupin. Jedna skupina jsou tzv. Event metody. To jsou metody s např.: */ public function commentinsert() {... } Jednoduše řečeno, Event metoda commentinsert() je spuštěna, pokud uživatel požádá o URL budvobraze.cz/zbozi/komentare/vlozit a použije k tomu POST, tzn. odešle formulář. Více o a mapování URL v příloze urlmapping.txt. Event metoda by měla vždy něco vracet. Může to být např.: return new ForwardResolution("goods/comments.php"); Což způsobí, že je řízení předáno do 3. vrstvy, konkrétně do nějakého souboru goods/comments.php. Kde se ale tento soubor přesně nachází a co se pak přesně děje, o tom až později. Pro nás je teď důležité pouze to, že je tímto způsobem zobrazena určitá HTML stránka. Další možnost je vrátit následující: return new RedirectResolution("zbozi/komentare"); To způsobí, že ne nezobrazí vůbec nic, ale provede se přesměrování prohlížeče na adresu budvobraze.cz/zbozi/komentare. Což se hodí udělat po úspěšném odeslání formulářových dat, protože takhle se zabrání, kdyby někdo omylem stiskl F5, aby se formulář odeslal znovu. Ještě je možné použít JsonResolution($něco), což způsobí vypsání libovolné proměnné ve formátu JSON (hodí se u AJAXu). Jakým způsobem se přesně do formátu JSON převádí je možné najít v této metodě BitGooCzFW::jsonEncode().

4 Poslední možnost je vrátit cokoli jiného, což je pak zobrazeno pomocí standardního příkazu echo. Uvnitř ActionBeanu by se ale echo samo o sobě nemělo používat, např. z toho důvodu, že některé HTTP hlavičky jsou vypsány až po vykonání Event metody. Before metody a životní cyklus ActionBeanu Kromě Event metod, je možné použít tzv. Before metody. Při každém požadavku je URL přeložena na konkrétní událost (event), např. commentinsert a podle toho je spuštěna určitá Event metoda, např. commentinsert(). Před spuštěním event metody je ale možné spustit jiné metody, které jsou přiřazeny ke stejné události. Pokud máme např. metodu s touto anotací: = {"goodsdetails", "commentinsert"}, stages = "BindingAndValidation") */ public function loadgoods() {... } Pak v případě, že má nastat událost commentinsert, je nejdřív spuštěna Before metoda loadgoods(), pak až EventMetoda commentinsert(). Událost (event) si tedy můžeme představit jako tok (posloupnost) několika metod, které framework postupně spouští. Celý tento tok je ale o něco složitější a má 4 (*2) fáze: 1. BindingAndValidation - pokud se používají formuláře, v této části framework validuje vstupní data z formulářů a nastaví je do určitých proměnných, kde jsou pak k dispozici nebo se postará o vypsání chyby atp.; více o tomto dále. 2. CustomValidation - v této části je možné definovat metody, které dělají nějakou komplikovanější validaci ať už dat z formulářů, nebo i jiných vstupních dat (přímo z URL). 3. EventHandling - spuštění Event metody. 4. ResolutionExecution - toto je vykonání toho, co Event metoda vrátila, tzn. přesměrování v případě RedirectResolution; vykreslení HTML stránky v případě ForwardResolution (tzn. vykonání 3. vrstvy); zobrazení JSON kódu, v případě JsonResolution; nebo zobrazení toho co Event metoda vrátila v ostatních případech. Před každou z těchto fází může být i fáze výše zmíněných Before metod. Takže parametr stages v anotaci Before metody určuje před jakou z těchto fází má být Before metoda vykonána. Samozřejmě je možné mít více Before metod před stejnou fází. Je možné vykonat i jednu Before metodu před více různými fázemi, např.: stages = {"BindingAndValidation", "CustomValidation"}. Pokud máme více Before metod před stejnou fází a zároveň se všechny mají vykonat při stejné události, pak jejich pořadí určuje pořadí zápisu v kódu. Lze ho ale ovlivnit pomocí pos : = 3, on = "showuseraddresses", stages = "BindingAndValidation") */ Hodnota pos může být i záporná. Pokud není uvedena, výchozí je 0. Pokud mají dvě metody stejnou hodnotu pos, jejich pořadí zase určuje pořadí v kódu. Podobně jako Event metody, můžou i Before metody vracet Resolution (Forward, Redirect...). Pokud ale Before metoda něco takového vrátí, je okamžitě zastaveno další vykonávání a přejde se přímo do fáze ResolutionExecution. Je třeba upozornit na to, že toto nastane i když něco vrátí Event metoda. Tzn. že fáze Before ResolutionExecution se provede pouze tehdy, pokud všechny Before

5 metody i Event metoda nevrátí nic (nebo vrátí null). Validace a chyby Framework na 2. vrstvě obsahuje i mechanizmus validace formulářových dat (data odeslaná metodou POST). Pokud chceme mít v atributu k dispozici hodnotu z formuláře, přidáme mu gettery a settery a např.: = "string", on = {"commentinsert"}, max = 20) */ private $commenttext; public function getcommenttext() { return $this->commenttext; } public function setcommenttext($commenttext) { $this-> commenttext = $commenttext; } Ve fázi BindingAndValidation je v případě události commentinsert přiřazena hodnota z $_POST["comment-text"] do $this->commenttext. Proběhne také validace a pokud by hodnota byla delší než 20 znaků, vznikne tzv. chyba (error). Chyby jsou z ActionBeanu dostupné přes: $this->getctx()->geterrors(). Tímto způsobem můžeme validovat základní věci, např. délku textu, velikost čísla, jestli je něco povinné nebo ne atd. Více v příloze BindingAndValidation.txt. Bez ohledu na to jestli chyba nastala nebo ne, jsou přiřazeny a validovány všechny hodnoty ve fázi BindingAndValidation. Pokud by ale chyba nastala, pak by v další fázi Before CustomValidation proběhly pouze ty Before metody, které mají ve své anotaci execwitherror = true: = {"editorder"}, stages = "CustomValidation", execwitherror = true) */ Další fáze se jmenuje CustomValidation. Skládá se z několika metod které mají hodnotu on, určující událost, stejně jako u Before metod. Validační metody vracejí buď prázdné pole nebo pole s chybami, které nastaly. Chyby se přidávají k těm co mohly nastat při validaci během fáze BindingAndValidation. Jaký formát by mělo mít pole chyb je uvedeno v příloze errorformat.txt. Dále také mohou mít validační metody hodnotu execwitherror = true. Tzn, že pokud by někdy předtím nastala chyba (ať už v předcházející validační metodě nebo ve fázi BindingAndValidation), validační metoda se stejně spustí. Tzn. pokud není execwitherror uvedeno a nastala v předchozí validační metodě chyba, tato validační metoda se už nespustí. Jakmile jsou proveden všechny validace (po fázi CustomValidation) a zjištěny i všechny chyby, proběhne vyhodnocení chyb. Tzn. že pokud nějaká chyba nastala, další vyhodnocování se zastaví a přejde se do fáze ResolutionExecution s tím, že se vykoná předcházející Forward. Vše vysvětlí příklad: Máme stránku s formulářem. Máme tedy událost showform. K události se váže jen Event metoda showform(), která pouze předá řízení na soubor my-form.php, který vykreslí formulář. Tzn. že Event metoda vrátí new ForwardResolution("my-form.php"); Uživatel formulář vyplní, ale chybně. Formulář odešle, přitom se vyvolá jiná událost, např. handleform, na kterou se ale váže několik validačních a několik validačních V některých z nich

6 se zjistí chyby. Hned po fázi CustomValidation se stane to, že se vykoná ResolutionExecution, předcházející Forward, tedy konkrétně new ForwardResolution("my-form.php"); Znovu se tedy vykreslí stránka s formulářem. Pokud ale používáme formuláře, které jsou součástí BitGooCz frameworku (o nich později), vykreslí nám rovnou i znění chyby v závislosti na tom co našly validační pravidla a validační metody. Možná vás napadá, že framework nějak musí zjistit, jakou předchozí stránku (Forward) zobrazit. Tady je drobný háček. Tento způsob validace je možné používat i bez speciálních BitGooCz formulářů, ale pouze tehdy pokud jsme si jisti, že validace nevyhodí žádnou chybu, nejlépe pokud neproběhne vůbec. Tzn. v případě že z BindingAndValidation použijeme jen to Binding. Formuláře totiž odesílají i speciální kód, ze kterého framework zjistí kam forwardovat naposled (neposílá se přímo stránka kam forwardovat, takže ji nelez formulářem podstrčit). Pokud chcete používat vlastní formuláře, použijte BPage::getSystemHiddenInput($ab); kde $ab je instance ActionBeanu. Metoda vrátí skrytý <input>, který obsahuje potřebný kód. V případě, že by nastala chyba validace a kód by nebyl zaslán nebo by byl chybný, proběhne Forward na stránku error-no-post-id.php. Pokud chyby nenastanou, provede se fáze Before EventHandling. Z toho plyne, že execwitherror má smysl používat jen ve fázi Before CustomValidation nebo přímo při CustomValidation. Dále je to spuštění Event metody, dále, pokud Event metoda nic nevrátila je to spuštění Before ResolutionExecution a nakonec samotné ResolutionExecution. Pokud máme Event metodu mapovanou na URL zbozi/zobrazit, ale ve skutečnosti je za touto URL ještě něco jiného, např. zbozi/zobrazit/58/informace, a této celé URL neodpovídá žádné jiné mapování URL, pak se provede mapování pouze na zbozi/zobrazit a zbytku, tedy 58/informace, se říká (bohužel) Object (což je trochu zavádějící). Tento řetězec (Object) je možné v ActionBeanu získat takto: $this->getctx()->getobject(), nebo $this->getctx()->getobjectpart($i), kde $i je část řetězce oddělená lomítkem. Takže $this->getctx()->getobjectpart(0) obsahuje 58 a $this- >getctx()->getobjectpart(1) obsahuje informace. Vice o životním cyklu je v diagramu BitGooCzFW.v3.png. Kontext, autentizace a autorizace DefaultActionBean implementuje rozhraní ActionBean, které mu přikazuje implementovat getter a setter pro ActionBeanContext a metodu init(). ActionBeanContext je objekt, které obsahuje různé užitečné informace a tyto informace nám do něj nastaví převážně framework. V zkratce se kontextu říká ctx (dostaneme se k němu přes $this->getctx()) a jsou v něm k dispozici např. chyby (error) způsobené během validace, chybové a informační hlášky, které je možné zobrazovat na stránce a zůstanou k dispozici i po přesměrování pomocí RedirectResolution, výše zmíněný Object, jaká událost probíhá a další. Jednou z nejužitečnějších je ale getuser(), setuser($user), setallowedactions($actions) a isactionallowed($action). Metoda init() je spuštěna na začátku životního cyklu ActionBeanu a má k dispozici ctx. Není doporučeno používat konstruktory ActionBeanu, protože v nich není ctx ještě k dispozici. V init() metodě je doporučeno provést autentizaci (tzn. kontrolu, jestli je uživatel přihlášen nebo ne). Toto je zcela na vývojáři webu a framework jen požaduje, aby v případě, že uživatel přihlášen je bylo něco nastaveno pomocí $this->getctx()->setuser(). To něco bývá většinou objekt reprezentující uživatele. Pro potřeby frameworku ale stačí, aby se toto vyhodnotilo na true:

7 $ab->getctx()->getuser() == true Dále je v init metodě doporučeno nastavit oprávnění uživatele. To je pole řetězců, které jsou nastaveny do $this->getctx()->setallowedactions($actions). Jeden řetězec reprezentuje oprávnění uživatele vykonat nějakou akci. Pojem akce je vysvětlen dále. Po vykonání init metody totiž proběhne autorizace, tzn. rozhodne se, jestli má uživatel právo vykonat aktuální událost (event). K tomu slouží dvě anotace, které se přidávají k Event metodě. První */ Pokud má Event metoda takovouto anotaci, znamená to, že je k ní přiřazena akce, kterou musí mít uživatel dovoleno vykonat. Neboli, musí se nacházet v poli nastaveném pomocí $this->getctx()- >setallowedactions($actions). Každá událost může mít přiřazenu pouze jednu nebo žádnou akci, ale jedna akce může být součástí více různých událostí. Další anotace /** */ Tuto událost lze vykonat jen když je uživatel přihlášen. Tzn. $ab->getctx()->getuser() == true. Pokud autentizace proběhne neúspěšně, proběhne hned Forward na soubor error-unauthorized.php v případě nebo error-not-logged-in.php v případě chyby Kompilace Bohužel, zpracování anotací bývá časově náročná operace. Proto je nutné provádět kompilaci. Při změně anotací v ActionBeanech nebo při velkých změnách ActionBeanů (vytvoření nového, přejmenování, smazání) je nutné spustit /bitgooczfw-compilers/bitgooczfwcompiler.php Kompilátor také vypíše některé případné chyby v anotacích, ale ne všechny. Bohužel nevypíše syntaktické chyby v anotacích, takže na to je nutné si dávat pozor. Složku /bitgooczfw-compilers není nutné kopírovat na ostrý server. Třetí vrstva Mnohokrát bylo zmíněno, že může být proveden tzv. Forward, pomocí ForwardResolution. Before nebo Event metoda může vrátit např.: return new ForwardResolution("goods/comments.php"); Pak se stane následující věc: ve fázi ResolutionExecution, tedy na konci životního cyklu ActionBeanu proběhne include souboru /pages/index.php nebo jiného souboru, který je nastaven

8 v $this->getctx()->getlayout(). Pokud tam máme nastaveno admin.php, proběhne include souboru /pages/admin.php. Dále je nutné zmínit že pokud zavoláme $this->getctx()->getforward(); vrátí se nám "goods/comments.php", neboli řetězec nastavený přes new ForwardResolution(). Poslední důležitá věc je, že v souboru /pages/index.php (nebo podobném) máme k dispozici proměnnou $ab, která obsahuje ActionBean. Když tedy v tomto souboru zavoláme $ab, je to jako bychom zavolali $this v ActionBeanu. Z toho už možná tušíte postup, jakým se pracuje s třetí vrstvou. Soubor /pages/index.php nebo např. /pages/admin.php je tzv. layout, neboli obyčejný PHP soubor, obsahující hlavně HTML kód. Tento soubor obsahuje celou základní HTML kostru, která se všude opakuje - menu, hlavičku patičku. A na místě těla webu je následující: <?php include $ab->getctx()->getforward();?> Protože jsme v adresáři /pages, v našem výše uvedeném příkladě se includuje /pages/goods/comments.php. Takže všechny soubory v adresáři /pages jsou úplně obyčejné PHP soubory, které by ale měly převážně obsahovat HTML kód. Navíc v nich máme k dispozici ActionBean v $ab. V těchto souborech tak můžeme přistupovat k metodám ActionBeanu a vykreslovat tak formuláře a vlastně celý web. Je ale pravidlem, že by se ze třetí vrstvy nemělo přistupovat k metodám, které jsou spouštěné frameworkem (Before metody, Event metody, validační metody). Ve druhé vrstvě by se měla data načíst z první vrstvy a pro třetí vrstvu nachystat do atributů. Třetí vrstva pak už bude jen číst tyto atributy, např. přes get metody - gettery. Šablony BPages PHP je samo o sobě šablonovací systém. Často je ale nutné psát velké množství kódu k vykonání jednoduchých často se opakujících věcí. Existuje spousta šablonovacích systémů, které pomáhají uspořit výše uvedené. Ve frameworku BitGooCz je použit šablonovací systém nazvaný BPage. Nebylo však cílem vytvořit plnohodnotný šablonovací systém, pouze pomoci v té nejotravnější věci - generování formulářů. BPage jsou tedy normální PHP + XHTML (které je ale validním XML kódem) a navíc obsahuje značky co vykreslují formuláře. Prázdná BPage obsahuje kořenovou značku: <b:page xmlns:b=" </b:page> Je zde použit namespace který je navázán k prefixu b, takže všechny značky začínající na b: jsou speciální BPage značky a ty budou přeloženy. Ostatní jsou považovány za XHTML a nechají se, podobně zápis <?php...?> se nechá bez změny. V konfiguračním souboru /config.php je při vývoji následující: include "bitgooczfw-compilers/bpagecompiler.php"; BPageCompiler::scan(dirname( FILE ). '/bpages', dirname( FILE ). '/pages', array( "totalwidth" => 825, "labelratio" => 0.25, "inforatio" => 0.3, "suffixwidth" => 50 ));

9 Vloží se překladač BPage a spustí se. První parametr určuje zdrojové BPage soubory, což je adresář /bpage a druhý parametr určuje výsledné vygenerované soubory /page - tento adresář už známe. Třetí parametr slouží ke konfiguraci formulářů. Při vývoji se tedy pokaždé všechny BPage přeloží znovu (což je celkem rychlé), ale při ostrém nasazení je možné tento kód z /config.php smazat a vůbec adresář /bpages nenahrávat na ostrý server. Poznámka: v eshopu budvobraze.cz Jsou skoro všechny soubory v /pages vygenerované pomocí BPages. Proto by se do nich nemělo zasahovat, protože by pak stejně byly přepsány při dalším překladu. Je zde ale několik souborů, co generovány nejsou. Proto není dobrý nápad smazat celou složku /pages a nechat si ji vygenerovat. Vygenerované soubory poznáme tak, že mají na začátku následující: <?php /* BPage file - compiled file, do not change it! */?> BPage formuláře... bude doplněno... Práce s databází - Entity a EntityManager... bude doplněno... Překlady Překlady nebyly nikdy na webu budvobraze.cz použity, ale je pro ně ve frameworku nachystána podpůrná třída. V BPage máme kromě proměnné $ab k dispozici i proměnnou $txt, přes kterou můžeme k textům přistupovat. Dělá se to pomocí její metody $txt->get(). Texty se vkládají do souboru /bitgooczfw/texts.php. Jazyk se musí nastavit pomocí metody init() a objektu implementujícího rozhraní /bitgooczfw/localemanagerinterface.php. Podrobnosti jsou v komentářích v souboru /bitgooczfw/btxt.php. TODO: konfigurační soubor, utility na generování kódu

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

KIV/PIA Semestrální práce

KIV/PIA Semestrální práce KIV/PIA Semestrální práce Diskuzní fórum Tomáš Časta(A10N0057P) casta@students.zcu.cz 1. Architektura aplikace 1.1 MVC Model-view-controller (MVC) je softwarová architektura, která rozděluje datový model

Více

Stručný úvod pro programátory. Michal Kuchta

Stručný úvod pro programátory. Michal Kuchta Stručný úvod pro programátory Michal Kuchta Alespoň základní znalost PHP Základy klasického OOP a jeho implementaci v PHP Schopnost oprostit se od konvenčního tvoření stránek 2 Framework pro snazší vývoj

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Webové aplikace Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni Harmonogram Dopolední blok 9:00 12:30 Ing. Dostal Úvod, XHTML + CSS Ing. Brada,

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

Geis Point Plugin Map

Geis Point Plugin Map Str. 1/5 Geis Point Plugin Map Rozhraní pro vložení výdejního místa do objednávky na e-shopu Str. 2/5 Obsah 1. Co je Geis Point Plugin Map?... 3 2. Jak to funguje?... 3 3. Obecný postup nasazení... 3 4.

Více

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal Aplikační vrstva Úvod do Php Ing. Martin Dostal Co to je PHP? php soubory se nekompilují, interpret je spouští přímo bez překladu php běží na serveru php soubor je.txt soubor obsahující php kód: Zkrácený

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

24.5.2008 Jaku b Su ch ý 1

24.5.2008 Jaku b Su ch ý 1 Drupal API 24.5.2008 Jaku b Su ch ý 1 Témata Práce s databází Bezpečnost práce s Drupalem Forms API Jak udělat vlastní modul Hooks Lokalizace 24.5.2008 Jaku b Su ch ý 2 Práce s databází Drupal poskytuje

Více

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/

17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ 17. července 2005 15:51 z moravec@yahoo.com http://www.z-moravec.net/ Úvod 1 Úvod Nedávno jsem zveřejnil návod na vytvoření návštěvní knihy bez nutnosti použít databázi. To je výhodné tehdy, kdy na serveru

Více

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads

Postup. Úvodem. Hlavní myšlenka frameworku. application. system. assets. uploads Postup Úvodem Můj úkol při tomto projektu byl vytvořit model pro data, dle návrhového vzoru MVC. Jelikož v poslední době pracuji spíše s návrhovým vzorem HMVC (http://en.wikipedia.org/wiki/hmvc) ve frameworku

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Využití OOP v praxi -- Knihovna PHP -- Interval.cz Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Uživatelská příručka pro respondenty

Uživatelská příručka pro respondenty Uživatelská příručka pro respondenty Statistický informační systém Českého statistického úřadu Subsystém DANTE WEB Funkční blok Objednavatel: Český statistický úřad Na padesátém 81, 100 82 Praha 10 Dodavatel:

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Modul IRZ návod k použití

Modul IRZ návod k použití Modul IRZ návod k použití Verze: 2 Datum: 26. 2. 2016 Tento dokument představuje stručný návod na použití modulu IRZ v programu EVI 8. Modul IRZ je určen na evidenci odpadů pro IRZ provozovny a hlášení

Více

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek Snadný vývoj webových aplikací s Nette Lukáš Jelínek Proč framework? ušetří spoustu práce (implementace, úpravy) vývoj = co udělat, ne jak to udělat bezpečnost štábní kultura prostředky pro ladění podpora

Více

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 1 - PHP. 03. Proměnné, konstanty S třední škola stavební Jihlava Sada 1 - PHP 03. Proměnné, konstanty Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce. DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Obsah STUDENTI VYTVOŘENÍ VOLNÉHO TÉMATU VŠKP VÝBĚR TÉMATU VŠKP Z VOLNÝCH TÉMAT KONTROLA ZADÁNÍ TÉMATU FORMÁLNÍ ÚPRAVA VYPLNĚNÍ ÚDAJŮ ELEKTRONICKÉ

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

Svolávací systém Uživatelský manuál

Svolávací systém Uživatelský manuál Uživatelský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 14. srpna 2013 Číslo

Více

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor )

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor ) Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor ) DATASYS s.r.o., Jeseniova 2829/20, 130 00 Praha 3 tel.: +420225308111, fax: +420225308110 www.datasys.cz Obsah

Více

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování

Více

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace

Více

1. Podmínky chodu aplikace

1. Podmínky chodu aplikace 1 / 15 1. Podmínky chodu aplikace Licenční instalace určení pro značku, lokální instalace, nebo síťová licencovaná MAS serverem. 1.1. Instalace podpory MicroCat na lokální stanici Na dané stanici musí

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

plussystem Příručka k instalaci systému

plussystem Příručka k instalaci systému plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015

Více

bubileg webový redakční systém Manuál administrace pro systém verze 5

bubileg webový redakční systém Manuál administrace pro systém verze 5 bubileg webový redakční systém Manuál administrace pro systém verze 5 Obsah Úvod... 3 URL adresy a MVC architektura... 3 Adresářová struktura webu... 4 Základní pojmy a logika systému... 5 Administrace...

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Příručka pro editaci kontaktů na eagri

Příručka pro editaci kontaktů na eagri Obsah Úvod... 1 Uživatel a subjekt... 1 Kontakty... 1 Validace hodnoty kontaktu... 2 GPS souřadnice... 3 Datová schránka... 3 Adresy... 3 Speciální PSČ... 4 Adresy s P.O. Box... 4 Klíč pro WS... 4 Uživatelé...

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, 2007. Šablonovací systém htmltmpl

Šablonovací systém htmltmpl vypracoval: Michal Vajbar, 2007. Šablonovací systém htmltmpl Šablonovací systém htmltmpl 1 Představení šablonovacích systémů Každý, kdo se zabývá tvorbou webových aplikací dříve nebo později zjistí, že je vhodné oddělovat obsah aplikace od jejího vzhledu. Pokud

Více

ŠKODA Portal Platform

ŠKODA Portal Platform ŠKODA Portal Platform Struktura LESS stylů Jan Obrátil Účel dokumentu Účelem tohoto dokumentu je vysvětlit strukturu stylů v Portálové Platformě tak, aby bylo možné je správně použít a rozšířit je pro

Více

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu

Django. Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu Django Django Webový framework pro Python Projekt = webová stránka Aplikace = určitá funkcionalita webu Instalace Django ve Windows Nutné mít nainstalovaný Python Ověříte příkazem py --version Stáhnout

Více

Nastavení funkce pro Elektronickou evidenci tržeb EET v programu Aconto

Nastavení funkce pro Elektronickou evidenci tržeb EET v programu Aconto Nastavení funkce pro Elektronickou evidenci tržeb EET v programu Aconto Povinnost elektronicky evidovat tržby (dále EET) lze nastavit pro evidenci Pokladna v modulu Evidence a pro program Kasa. Po nastavení

Více

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.:

CRM - manuál. Vypracovala: Monika Balažovičová [1] Softapp s.r.o., Kouty 1419, Valašské Meziříčí, tel.: CRM - manuál Vypracovala: Monika Balažovičová [1] Obsah 1. Cíl... 3 2. Programové požadavky... 3 3. Přihlašovací údaje... 3 4. Nastavení programu... 4 5. Úvodní obrazovka... 4 6. Marketingové seznamy...

Více

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com

M4 PDF rozšíření. Modul pro PrestaShop. http://www.presta-addons.com M4 PDF rozšíření Modul pro PrestaShop http://www.presta-addons.com Obsah Úvod... 2 Vlastnosti... 2 Jak modul funguje... 2 Zdroje dat... 3 Šablony... 4 A. Označení šablon... 4 B. Funkce Smarty... 5 C. Definice

Více

WNC::WebNucleatCreator

WNC::WebNucleatCreator Tomáš Dlouhý WNC::WebNucleatCreator Verze: 5.1 1 Obsah Obsah...2 Úvod...3 Novinky...3 Požadavky...4 Instalace...4 Přihlášení se do WNC...6 Moduly...7 Modul Blog...7 Modul Categories...8 Modul News...8

Více

JSON API pro zjišťování cen MtG karet

JSON API pro zjišťování cen MtG karet JSON API pro zjišťování cen MtG karet Autor: Ing. Jiří Bažant Verze: 1.0 Datum: 20.9.2014 Changelog Verze Datum Autor Poznámka 1.0 17.9.2014 Ing. Jiří Bažant 20.9.2014 Ing. Jiří Bažant Oprava příkladu

Více

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 12.2.2015 Webové aplikace Úvod strana 2 Vyučující Ing. Jiří Lýsek, Ph.D. Ing. Oldřich Faldík https://akela.mendelu.cz/~lysek/ https://akela.mendelu.cz/~xfaldik/wa/

Více

Platební systém XPAY [www.xpay.cz]

Platební systém XPAY [www.xpay.cz] Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace

Více

FIO API PLUS. Verze 1.1.1

FIO API PLUS. Verze 1.1.1 FIO API PLUS Verze 1.1.1 www.fio.cz Verze 29. 5. 2015 OBSAH: 1 FUNKČNÍ POPIS... 2 2 INSTALACE APLIKACE... 2 3 ZÍSKÁNÍ TOKENU... 2 4 PŘIDÁNÍ ÚČTU / TOKENU DO APLIKACE... 3 5 STAŽENÍ DAT... 3 Periodické

Více

Základy HTML. Autor: Palito

Základy HTML. Autor: Palito Základy HTML Autor: Palito Zobrazení zdrojového kódu Zobrazení zdrojového kódu Každá stránka je na disku nebo na serveru uložena ve formě zdrojového kódu. Ten kód je psaný v jazyce HTML. Když si chcete

Více

Manuál pro práci s modulem Otázky a odpovědi

Manuál pro práci s modulem Otázky a odpovědi Manuál pro práci s modulem Otázky a odpovědi Užitečné postupy a doporučení Obsah 1 Role uživatelů...3 2 Odesílání otázek...3 3 Přehled otázek...4 3.1 Orientace v přehledu...4 3.2 Základní údaje otázky...5

Více

Už ivatelska dokumentace

Už ivatelska dokumentace Už ivatelska dokumentace Aplikace Portál úspěšných projektů je určena k publikování informací o projektech realizovaných za přispění některého z Operačních programů v gesci Ministerstva vnitra České republiky.

Více

NSWI096 - INTERNET JavaScript

NSWI096 - INTERNET JavaScript NSWI096 - INTERNET JavaScript Mgr. Petr Lasák JAVASCRIPT JAK SE DNES POUŽÍVÁ Skriptovací (interpretovaný) jazyk Umožňuje interaktivitu Použití: Dialogy Kontrola dat ve formulářích Změny v (X)HTML dokumentu

Více

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce.

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Mgr. Martin Svitanek Obsah STUDENTI I. FÁZE ZADÁVÁNÍ VŠKP

Více

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

Jan Forman Manuál 30.5.2013. CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: 0000000000001 AUTH OR:

Jan Forman Manuál 30.5.2013. CLASSIFICATIO N: public / veřejný dokument IDE NTIFICATIO N N U MBER: 0000000000001 AUTH OR: CLASSIFICATIO N: public / veřejný dokument TITLE: Manuál k webovému rozhraní hostingu P ub l i c URL: http://janforman.org/files/webhosting.pdf OFFICE NAME AND ADDRESS: --- IDE NTIFICATIO N N U MBER: 0000000000001

Více

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Redakční systém JSR Systém pro správu obsahu webových stránek Řešení pro soukromé i firemní webové stránky Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Je plně

Více

Projekt Obrázek strana 135

Projekt Obrázek strana 135 Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 18.4.2016 Webové aplikace JSON, AJAX/AJAJ, zpracování na straně JS, JSONP, proxy, REST strana 2 JSON objekt JavaScript Object Notation { "nazev": hodnota, "cislo":

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

AJAX. Dynamické změny obsahu stránek

AJAX. Dynamické změny obsahu stránek AJAX Dynamické změny obsahu stránek Co je AJAX Co je AJAX Co je AJAX Co je AJAX Co je AJAX AJAX = Asynchronous JavaScript And XML XHR = XMLHttpRequest Ajax je sada technik a nástrojů, které umožňují dynamické

Více

Uživatelská příručka 6.A6. (obr.1.)

Uživatelská příručka 6.A6. (obr.1.) Uživatelská příručka 6.A6 Na stránky se dostanete zadáním URL adresy: http://sestasest.tym.cz do vašeho prohlížeče. Teď jste se dostali na úvodní stránku, na které vidíte fotku, přivítání, odkaz na Uživatelskou

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline Rozhraní slouží k automatizovanému podání listovních zásilek elektronickou cestou z aplikací třetích stran. Veškerá komunikace s naším serverem

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V1.2.1 2010-08-25

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V1.2.1 2010-08-25 UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V1.2.1 2010-08-25 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování

Více

Pravidla a plánování

Pravidla a plánování Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 7. května 2013

Více

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse

TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE. David Malát, Adam Novák, David Vurbs, Dominik Walta. SPŠ Na Proseku 2012/13. Pod velením Davida Vurbse TECHNICKÁ DOKUMENTACE SOCIÁLNÍ SÍŤ MRSHARE David Malát, Adam Novák, David Vurbs, Dominik Walta SPŠ Na Proseku 2012/13 Pod velením Davida Vurbse Zadání práce Adam Novák-Vytvořit zeď a její funkce a technickou

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

Internetové technologie, cvičení č. 5

Internetové technologie, cvičení č. 5 Internetové technologie, cvičení č. 5 Náplň cvičení Obsahem 5. cvičení předmětu Internetové technologie je ukázka a procvičení XHTML značek a atributů používaných při vytváření hypertextových odkazů a

Více

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 / Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ

Více

EPLAN Electric P8 2.7 s databázemi na SQL serveru

EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 s databázemi na SQL serveru EPLAN Electric P8 2.7 k dispozici pouze ve verzi 64bit. EPLAN Electric P8 využívá k ukládání některých dat databáze. Artikly, překladový slovník 1 ) a

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.19 Název materiálu: 19 PHP- Základy práce s databází PHP 2. část MySQL (Aplikace knihovna) Anotace Autor Jazyk Očekávaný výstup DUM je žákům průvodcem vytvoření databáze knih

Více

mbank.cz mtransfer Okamžitá notifikace o mtransferu Dokumentace pro externího partnera

mbank.cz mtransfer Okamžitá notifikace o mtransferu Dokumentace pro externího partnera mtransfer Okamžitá notifikace o mtransferu Dokumentace pro externího partnera 1/6 Obsah 1 SLOVNÍK POJMŮ... 3 2 ÚVOD... 4 3 POPIS ŘEŠENÍ NPM... 4 4 ZPŮSOB KOMUNIKACE EXTERNÍHO PARTNERA S MBANK - SPECIFIKACE

Více

Tiskový manažer - Printman

Tiskový manažer - Printman Tiskový manažer - Printman Tiskový manažer je program, který je součástí programu Praktik. Používá se v případě, pokud máte připojenou tiskárnu přes USB port (nebo vaše tiskárna není v seznamu podporovaných

Více

Uživatelská příručka pro ředitele škol

Uživatelská příručka pro ředitele škol Národní šetření výsledků žáků v počátečním vzdělávání Uživatelská příručka pro ředitele škol Název souboru: Modul IDM - Uživatelská příručka pro ředitele škol V2.doc Strana 1 Obsah 1 Úvod... 3 2 Přihlášení

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

Manuál pro žadatele OBSAH

Manuál pro žadatele OBSAH Manuál pro žadatele OBSAH 1. Úvod... 2 2. Registrace žadatele do systému... 3 3. Přihlášení... 5 4. Změna hesla... 6 5. Obnova zapomenutého hesla... 7 6. Vyplňování formuláře žádosti o dotaci... 8 6.1.

Více

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací

Snadná úprava stránek, nemusím umět HTML, tvořím obsah téměř jako ve Wordu. Jak změnit obsah nástěnky: vpravo nahoře Nastavení zobrazených informací Školení Wordpress Nainstalované pluginy: WPML Multilingual CMS Adminize Capability Manager Contact Form 7 Wordpress Download Monitor Google Analytics for WordPress Simple Google Sitemap XML Seznámení s

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Manuál pro implementaci služby PLATBA 24. Datum: 17. prosince 2014 Verze: 1.49

Manuál pro implementaci služby PLATBA 24. Datum: 17. prosince 2014 Verze: 1.49 Manuál pro implementaci služby PLATBA 24 Datum: 17. prosince 2014 Verze: 1.49 1 Úvodní informace ke službě PLATBA 24... 3 1.1 Obecný popis služby... 3 1.2 Administrativní předpoklady k využití služby PLATBA

Více

Programátorská příručka

Programátorská příručka KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro

Více

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)

Více

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP

AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP AUTOMATICKÉ ŘÍZENÍ S INTERNETOVOU KOMUNIKACÍ V PHP Automatic Control with Internet Communication in PHP Kamil Mrázek Abstrakt: Jazyk PHP a jeho využití v řízení přes internet, získávání dat z webových

Více

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka

APS T&A.WEB. Rozšiřující programový modul pro identifikační systémy APS. Instalační a uživatelská příručka APS T&A.WEB Rozšiřující programový modul pro identifikační systémy APS Instalační a uživatelská příručka 2004 2014,TECH FASS s.r.o., Věštínská 1611/19, Praha, Česká republika, www.techfass.cz, techfass@techfass.cz

Více

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( )

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( ) Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře 2. kolo příjmu žádostí Programu rozvoje venkova (2014 2020) V tomto dokumentu je uveden podrobný postup doplnění Žádosti o

Více