Objekty a OOP KAPITOLA 3. První kroky s OOP. V této kapitole: První kroky s OOP. Rozšiřujeme třídy Šablony Soubory projektu
|
|
- Pavel Matějka
- před 6 lety
- Počet zobrazení:
Transkript
1 Objekty a OOP KAPITOLA 3 V této kapitole: První kroky s OOP Rozšiřujeme třídy Šablony Soubory projektu V této knize budeme používat objektově orientované programování (zkráceně OOP). Jedná se o styl programování, v němž vytváříme objekty, které obsahují data i funkce, jež s těmito daty pracují. Protože objekty sdružují data a funkce na jediném místě, zachováváme uspořádanost zdrojového kódu a lépe zvládáme složitost, jak naše aplikace roste. Objekty vytváříme pomocí tříd. Vztah mezi třídami a objekty lze snadněji pochopit na příkladu stavaře. Stavitel (v tomto případě jazyk PHP) se řídí plánem (třídou), aby postavil dům (objekt). Stejně jako stavař může postavit více domů podle jediného plánu, jazyk PHP může vytvořit více instancí objektu. Každý z domů bude mít stejné dispozice, ale pravděpodobně bude jinak vymalovaný a bude v něm žít jiná rodina. V jazyce PHP má každý objekt vytvořený z jedné třídy stejnou funkčnost, ale vlastnosti a data, která přebývají v objektech, budou jedinečná pro každou instanci. OOP se může zdát na první pohled složité, ale jedná se o velmi jednoduchý styl programování. Více informací o OOP lze získat z videa Lorny Mitchellové na stránkách sitepoint.com. 18 První kroky s OOP Napišme krátký objektově orientovaný kód společně. Předpokládejme, že budeme chtít reprezentovat psa jako objekt v našem kódu jazyka PHP. Musíme napsat definici pro tento objekt (třídu) a v ní popíšeme, co může pes dělat
2 KAPITOLA 3 Objekty a OOP Vytvořte nový soubor pes.php v adresáři muj_projekt a vložte do něho následující kód: class Pes { public $jmeno; public function construct($jmeno) { $this->jmeno = $jmeno; public function mluv() { return Haf! Haf! ; Nyní vytvořte v adresáři muj_projekt další soubor s názvem pes_test.php a s tímto obsahem: require pes.php ; $pes = new Pes( Fido ); echo Pes se jmenuje:. $pes->jmeno. <br /> ; echo Pes říká:. $pes->mluv(). <br /> ; Otevřete skript pes_test.php ve svém webovém prohlížeči a měli byste uvidět jméno psa, a také, jak tento pes štěká. Poznámka: Vkládání kódu z dalších souborů Příkaz require z výše uvedeného příkladu (jednoduše řečeno) importuje obsah externího souboru s kódem jazyka PHP do našeho souboru pes_test.php. Jedná se o jeden ze čtyř příkazů pro vkládání externího kódu, přičemž každý z nich se chová mírně odlišně: include vkládá obsah souboru. Pokud jazyk PHP nenajde tento soubor, nebo z něho nemůže číst, vypíše varování, ale pokračuje dále v provádění skriptu. include_once funguje podobně jako příkaz include, ale jazyk PHP si ověřuje, jestli už stejný soubor nenaimportoval. Jestliže ho už naimportoval, nevloží ho znovu. require téměř stejný jako příkaz include, ale zastaví provádění skriptu a vypíše fatální chybu, když nenajde požadovaný soubor. require_once podobá se příkazu require, ale navíc kontroluje, jestli už nevkládá stejný soubor podruhé. Když si prohlédnete soubor pes.php, na první pohled si všimnete klíčového slova class. Toto klíčové slovo říká, že za ním následuje kód pro definici třídy, která bude známá pod názvem, jenž bezprostředně následuje za tímto klíčovým slovem (v tomto případě se jedná o název Pes). Jakmile definujete tuto třídu, můžete z ní vytvořit objekt pomocí konstrukce new Pes. 48
3 První kroky s OOP Metody construct() a mluv() jsou součástí definice naší třídy. Metoda construct() má pro jazyk PHP zvláštní význam když vytváříme nový objekt z třídy, jazyk PHP v ní zkouší hledat právě tuto metodu. Pokud ji najde, automaticky ji spustí hned poté, co vytvoří instanci nového objektu. Tato metoda je rovněž známá pod pojmem konstruktor. Jedná se o skvělé místo, kam umístit kód pro inicializaci nového objektu. Poznámka: Funkce a metody Funkce náležící třídě se nazývají metody. Mezi funkcemi a metodami je jen minimální rozdíl, takže je v pořádku, když si představíte funkci pokaždé, když uvidíte slovo metoda, pokud vám to pomůže ke snadnějšímu pochopení. Třída může mít svou vlastní sadu proměnných, které pomáhají objektu udržet si stav, a její metody k nim můžou přistupovat. Na řádku public $jmeno; našeho souboru pes.php definujeme $jmeno jako proměnnou třídy (jinak řečeno vlastnost). Poznámka: Proměnné a vlastnosti Proměnné, které náleží třídě, bývají označovány jako vlastnosti. Podobně jako u funkcí a metod pokud se lépe sžijete s terminologií OOP tak, že si představíte proměnnou, kdykoli uvidíte slovo vlastnost, směle do toho. Když píšeme kód uvnitř třídy, můžeme používat speciální proměnnou $this, která představuje aktuální instanci třídy (objekt) a pomáhá nám správně přistupovat k metodám a vlastnostem. Pro ukázku zkusme upravit soubor pes_test.php, aby vypadal takto: require pes.php ; $fido = new Pes( Fido ); echo Pes se jmenuje:. $fido->jmeno. <br /> ; echo Pes říká:. $fido->mluv(). <br /> ; $fifinka = new Pes( Fifinka ); echo Pes se jmenuje:. $fifinka->jmeno. <br /> ; echo Pes říká:. $fifinka->mluv(). <br /> ; Přejmenovali jsme proměnnou $pes na $fido a vytvořili jsme druhou instanci třídy Pes, kterou jsme uložili do proměnné $fifinka. Po spuštění tohoto kódu by se měli na obrazovce objevit dva štěkající psi Fido a Fifinka. Co se ale odehrává na pozadí? Oba tyto objekty pocházejí ze stejné třídy (Pes), ale každý z nich reprezentuje samostatnou instanci s vlastními daty například každý z nich má svou vlastnost $jmeno. Při vytváření instance $fido ukládáme do proměnné $jmeno textový řetězec Fido, kdežto u instance $fifinka do ní ukládáme textový řetězec Fifinka. 49
4 KAPITOLA 3 Objekty a OOP Tip: Hlídejte si šipky Když voláte metodu nebo přistupujete k vlastnosti, nezapomeňte na operátor ->. Tím dáváte jazyku PHP najevo, že se odkazujete na něco, co patří třídě/objektu, a ne na běžnou proměnnou nebo funkci. Proto na to nezapomínejte při volání metod a přístupu k vlastnostem, jinak se můžou vaše skripty začít chovat neočekávaně. Rozšiřujeme třídy Nyní známe základy OOP, takže si je stručně zopakujme. Třída je definice, která seskupuje proměnné a funkce do logického celku. Konkrétní instanci, kterou vytváříme na základě třídy, nazýváme objekt. OOP samozřejmě nepojednává jen o objektech a třídách. Dalším důležitým aspektem je schopnost rozšiřovat třídu, abychom do ní mohli přidávat funkčnost (nebo ji zlepšovat), aniž bychom museli znovu programovat funkce, které se nemění. Tato koncepce se nazývá dědičnost tvorba nové třídy tak, že rozšiřujeme stávající třídu. Vytvořme nový soubor mazlicek.php s definicí třídy Mazlicek. Ta bude sloužit jako základní třída, kterou budeme rozšiřovat dalším třídami pro konkrétní mazlíčky například psa, kočku, rybu, ještěrku atd. class Mazlicek { public $jmeno; public function construct($jmeno) { $this->jmeno = $jmeno; public function mluv() { return nic ; Tato třída se záměrně podobá naší třídě Pes, takže by na ní nemělo být nic překvapujícího. Přepišme ale třídu Pes, aby rozšiřovala třídu Mazlicek a používala její funkčnost. require_once mazlicek.php ; class Pes extends Mazlicek { public function mluv() { return Haf! Haf! ; 50
5 Rozšiřujeme třídy public function hraj() { return přines ; Nyní přidáme několik dalších zvířecích tříd. Například do nového souboru kocka.php: require_once mazlicek.php ; class Kocka extends Mazlicek { public function mluv() { return Mňau! ; public function hraj() { return chyť myš ; a potom do souboru ryba.php: require_once mazlicek.php ; class Ryba extends Mazlicek { Teď si je vyzkoušíme. Vytvoříme soubor mazlicek_test.php a vložíme do něho níže uvedený zdrojový kód: require pes.php ; require kocka.php ; require ryba.php ; $fido = new Pes( Fido ); echo Pes se jmenuje:. $fido->jmeno. <br /> ; echo Pes říká:. $fido->mluv(). <br /> ; echo Pes si hraje:. $fido->hraj(). <br /> ; $berta = new Kocka( Berta ); echo Kočka se jmenuje:. $berta->jmeno. <br /> ; echo Kočka říká:. $berta->mluv(). <br /> ; echo Kočka si hraje:. $berta->hraj(). <br /> ; 51
6 KAPITOLA 3 Objekty a OOP $nemo = new Ryba( Nemo ); echo Ryba se jmenuje:. $nemo->jmeno. <br /> ; echo Ryba říká:. $nemo->mluv(). <br /> ; Nyní to začíná být zajímavé. Zkuste vytvořit třídy pro papouška a ještěrku a následně vytvořte jejich instance v souboru mazlicek_test.php. S jejich pomocí zobrazte jejich jména a co tak přibližně můžou říkat. Když rozšiřujeme třídu, tak ve skutečnosti vytváříme novou třídu z jiné. Tímto způsobem vzniká vztah mezi rodičovskou a dceřinou třídou. Například bychom mohli prohlásit, že třída Pes je dceřinou třídou třídy Mazlicek a že třída Mazlicek je rodičovskou třídou pro třídu Pes. Když stavíme na již napsaném kódu, nemusíme psát stejný kód na různých místech díky tomu získáme lépe uspořádaný a efektivnější kód. Každá třída, která reprezentuje určitý typ mazlíčka, získává své metody a vlastnosti z rodičovské třídy Mazlicek. Vezměme si kupříkladu třídu Ryba, jež nemá žádný vlastní kód, ale veškeré chování zdědila od třídy Mazlicek. Na druhou stranu třídy Pes a Kocka rozšiřují třídu Mazlicek. Kromě toho přepisují metody speak() svými vlastními verzemi a doplňují vlastní funkčnost v podobě metody hraj(). Poznámka: A co klíčové slovo public? V třídách připojujeme k našim vlastnostem a metodám viditelnost. Když přidělujeme viditelnost, můžeme si vybrat některé ze tří klíčových slov: public, protected nebo private. Klíčové slovo public (veřejné) označuje vlastnosti a metody, k nimž lze přistupovat odkudkoli. Klíčové slovo protected (chráněné) mají vlastnosti a metody, ke kterým můžou přistupovat pouze metody ze stejného stromu tříd (ve smyslu stromu dědičnosti). Klíčové slovo private (soukromé) označuje metody a vlastnosti, ke kterým můžou přistupovat pouze metody ze stejné třídy. Více informací o viditelnosti uvnitř tříd je k dispozici v následujících článcích: Právě jsme si popsali základy OOP v jazyce PHP. Přestože se tento styl programování může zdát na první pohled složitý, podobá se jízdě na kole jakmile se ho naučíme, už ho nezapomeneme. OOP usnadňuje tvorbu rozsáhlých aplikací a setkáte se s ním v téměř všech profesionálních programovacích jazycích. Pokud se ho naučíte používat v jazyce PHP, jednodušeji v budoucnu pochopíte jiné programovací jazyky, takže se jedná o skutečně užitečnou dovednost. Zbytek této knihy bude předpokládat, že rozumíte OOP a umíte používat třídy a objekty v jazyce PHP. Pokud se s ním chcete seznámit blíže, prohlédněte si některé z níže uvedených článků:
7 Šablony -classes/ Šablony V kapitole 1, Server, jsme si řekli, že do souborů PHP můžeme ukládat jak kód jazyka PHP, tak kód jazyka HTML. Díky tomu je jazyk PHP skvělou vstupní bránou do světa programování na straně serveru pro všechny kodéry ovládající jazyk HTML. U složitých aplikací je však kombinování kódu v jazycích HTML a PHP velmi nepřehledné. Větší vývojářské týmy mají navíc programátory specializující se na frontend (prezentaci) a backend (zpracování dat na serveru). Mixování obou těchto kódů je v takovém prostředí nežádoucí, protože jednotliví vývojáři si nechtějí navzájem zasahovat do kódu. Šablonování nám umožňuje oddělit prezentační logiku od zpracování dat. Existuje spousta vzorů podporujících OOP a šablonování, přičemž nejznámější je architektura MVC (Model- -View-Controller), která se objevuje také ve spoustě oblíbených frameworků, kterými jsou kupříkladu CakePHP, 19 Zend Framework 20 a CodeIgniter. 21 Architektura MVC rozděluje kód aplikace na různé oblasti zájmu. Tímto způsobem lépe uspořádává náš zdrojový kód. Existuje spousta šablonovacích systémů, ale jednoduše můžeme používat i soubor PHP, v němž převažuje kód jazyka HTML. Cílem fragmentů kódu jazyka PHP v takovém souboru je vypisovat jen obsahy proměnných. Proměnné obvykle nastavuje v nějakém jiném souboru, který obsahuje pouze kód jazyka PHP a vkládá tuto šablonu. Ukažme si příklad. Soubor šablony by vypadal takto: <!DOCTYPE html> <html> <head> <meta charset= UTF-8 /> <title> echo $nazevstranky;?></title> </head> <body> <ul>
8 KAPITOLA 3 Objekty a OOP foreach ($pole as $prvek) {?> <li> echo $prvek;?></li>?> </ul> </body> </html> Dále potřebujeme ještě skript PHP, ve kterém nastavíme proměnné a vložíme předchozí šablonu: $nazevstranky = Má ukázková šablona ; $pole = array( jedna, dvě, tři ); require cesta/k/šabloně.php ; Vložená šablona zdědí oblast platnosti od volajícího souboru, a tudíž má přístup k jeho proměnným, funkcím, třídám atd. Výhody tohoto způsobu šablonování jsou: Uplatníme ho jednoduše. Nepotřebujeme žádnou knihovnu pro zobrazování šablon, kterou bychom museli načítat do naší aplikace. Šablony stále můžou zpracovávat kód jazyka PHP. Můžeme v nich procházet pole, volat funkce atd. Tento přístup má ale také několik nevýhod: Vývojáři frontendu, kteří vytvářejí šablony, musejí znát jazyk PHP. Všichni, kdo budou pracovat s těmito šablonami, musejí znát jazyk PHP. Nejedná se o skutečné šablonování. Tyto šablony nejsou ve skutečnosti šablonami jsou to jen další soubory PHP, které rozvrhují data pro zobrazení. Jako alternativu můžeme zvolit šablonovací knihovny, které nabízejí vlastní syntaxi. Ty se velmi liší od šablon, které jsme si ukázali před chvílí, jelikož k tvorbě šablony nepoužíváme vůbec jazyk PHP. Místo něho používáme speciální syntaxi, jež je jedinečná pro každou z těchto knihoven a obvykle vypadá jako kombinace kódu a čistého textu. Když taková knihovna zobrazuje šablonu, nahrazuje své speciální výrazy daty, které reprezentují. Tento přístup k šablonování volí kupříkladu i oblíbený publikační systém Expression Engine, 22 v němž všechny šablony obsahují speciální bloky kódu pro zobrazení dat. <!DOCTYPE html> <html> <head> <meta charset= UTF-8 />
9 Soubory projektu <title>{% nazevstranky %</title> </head> <body> <ul> {% if pole as prvek % <li>{% prvek %</li> {% /if % </ul> </body> </html> Tato metoda šablonování má následující výhody: Není nutné se učit jazyk PHP. Vývojáři šablon si vystačí se seznamem speciálních bloků, s nimiž můžou načítat data z našich skriptů PHP, a proto se nemusejí učit jazyk PHP a jeho syntaxi. Šablonovací knihovna převádí tyto šablony na standardní soubory HTML. Tyto soubory si tedy mohou ponechat obvyklou příponu.html. Tento přístup má však také nevýhody: Neobejdeme se bez knihovny, která zobrazí šablony. Tuto knihovnu třetí strany musíme vložit do naší aplikace. Každá knihovna může mít svou vlastní syntaxi a funkčnost. To může mít vliv na to, že budeme muset data dodatečně zpracovávat, nebo může tato syntaxe kolidovat s naším osobním stylem zápisu kódu. Oba přístupy mají své výhody i nevýhody, proto bychom si měli vyzkoušet co nejvíce variant, abychom zjistili, co se bude hodit nejlépe pro naši aplikaci. Více informací o šablonování lze najít v těchto článcích: Soubory projektu Jelikož jsme si vysvětlili OOP a šablonování, je na čase zapojit tyto nové koncepce do naší blogovací aplikace, díky čemuž si vytvoříme základní framework pro naši aplikaci. Musíme přidat několik souborů: obrázek 3.1 ukazuje, jak by měl vypadat kořenový adresář, na obrázku 3.2 lze vidět obsah adresáře admin, 55
10 KAPITOLA 3 Objekty a OOP obrázek 3.3 ukazuje adresář spolecne, na obrázku 3.4 lze vidět obsah adresáře frontend. Obrázek 3.1. Kořenový adresář Obrázek 3.2. Adresář admin 56
11 Soubory projektu Obrázek 3.3. Adresář spolecne Obrázek 3.4. Adresář frontend 57
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í
Django Urls, views, templates
Django Urls, views, templates Django URL Adresa URL je webová adresa, která je vidět v adresním řádku prohlížeče Například 127.0.0.1:8000 nebo https://djangoproject.com V Djangu používáme tzv. URLconf
Soubor index.html se nachází na stejné úrovni jako adresář obrazky. Měla bych použít relativní adresu, že? Hmm.
KAPITOLA 2 Úskalí jazyka HTML Soubor index.html se nachází na stejné úrovni jako adresář obrazky. Měla bych použít relativní adresu, že? Hmm. Počkat každou změnu adresáře doprovázel znak /. portfolio/obrazky
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
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á
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
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Základní pojmy objektově orientovaného programování Objekt vychází z reálného světa. Má dva charakteristické rysy. Všechny objekty mají stav Všechny objekty
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
Pokročilé schopnosti OOP
Kapitola 7 Pokročilé schopnosti OOP V kapitole 6 jste absolvovali základy objektově orientovaného programování v PHP. V této kapitole budeme na těchto základech stavět. Seznámíte se s několika vyspělejšími
X36 WWW Šablony Martin Klíma xklima@fel.cvut.cz Čtryřvrstvá architektura Server Klient Prezentační logika Aplikační Logika Databáze 2 Výhody Jednotlivé vrstvy jsou nezávislé Lze je samostatně spravovat
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ý
Objektově orientované programování v jazyce Python
Objektově orientované programování v jazyce Python Co to je objektově orientované programování Python není přímo objektově orientovaný jazyk, ale podporuje nejdůležitější části objektově orientovaného
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
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
DUM 06 téma: Tvorba makra pomocí VBA
DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie
MODERNÍ WEB SNADNO A RYCHLE
SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ
1. Dědičnost a polymorfismus
1. Dědičnost a polymorfismus Cíl látky Cílem této kapitoly je představit klíčové pojmy dědičnosti a polymorfismu. Předtím však je nutné se seznámit se základními pojmy zobecnění neboli generalizace. Komentář
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
Delphi - objektově orientované
Kapitola 6 Delphi - objektově orientované programování Objektově orientované programování (zkracováno na OOP, z anglického Object oriented programming) je metodika vývoje softwaru, založená na těchto myšlenkách,
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Dědičnost objektů BI-JSC Evropský sociální fond
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
1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)
1. Struktura stránky, zásady při psaní kódu, MVC pattern Web pro kodéry (Petr Kosnar, ČVUT, Obsah } Terminologie } Prezentace x Obsah } Struktura kódu } Sémantika kódu } Struktura stránky } Šablony } Template
Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
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,
Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka
Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka Projekt Využití ICT ve výuce na gymnáziích, registrační číslo projektu CZ.1.07/1.1.07/02.0030 MS Power Point Metodický
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 18.4.2017 Webové technologie RIA, SPA, AngularJS - šablony a controllery, služby $scope a $http strana 2 RIA - Rich Internet Application Chová se podobně jako desktopová
Ú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
Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6)
Souhrn výukových materiálů ke kurzu: Tvorba výukových materiálů pomocí tabletu (B3.6) Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. 1 Elektronický prostor
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
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
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
INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE
INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci
Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči
Název: VY_32_INOVACE_PG4119 Tipy a triky, rozdíly mezi prohlížeči Autor: Mgr. Tomáš Javorský Datum vytvoření: 06 / 2012 Ročník: 3 Vzdělávací oblast / téma: webdesign, počítačová grafika Anotace: DUM seznamuje
apilot - První kroky Publikační platforma apilot První kroky
Publikační platforma apilot První kroky Přihlášení https://domena.apilot.cz Po přihlášení Po přihlášení Nástěnka - aktualizace platformy novinky - tipy, triky (nastavení poštovních klientů) - aktivita
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace
Připravil: Ing. Jiří Lýsek, Ph.D. Verze: 26. 2. 2019 Webové aplikace PHP OOP, PHP a databáze, migrace DB, ORM, šablony, MVC/MVP, PHP frameworky strana 2 PHP skriptovací jazyk dynamicky typovaný interpret
JavaScript 101. "Trocha života do statických stránek"
JavaScript 101 "Trocha života do statických stránek" Nacionále: JavaScript 101 Vznik: Netscape, 1995 Původně Mocha, později LiveScript, nakonec z marketingových důvodů přejmenován na JavaScript JavaScript
Vývojové nástroje jazyka Java
Vývojové nástroje jazyka Java Tato kapitola informuje čtenáře, jaké nástroje je zapotřebí nainstalovat pro spouštění a vývoj programů v jazyce Java, hlavním cílem kapitoly je seznámit čtenáře s aplikacemi,
================================================================================ =====
Název: VY_32_INOVACE_PG4101 Základní struktura HTML stránky Datum vytvoření: 01 / 2012 Anotace: DUM seznamuje se základní strukturou a členěním HTML stránky, s jednotlivými složkami - HTML, CSS, externí
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky
Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie
Microsoft Word Hromadná korespondence Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Hromadná korespondence Funkce hromadná korespondence umožňuje vytvoření malé databáze (tabulky)
Objektové programování
Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k
Programování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového
Používání u a Internetu
Používání e-mailu a Internetu Je pro vás systém Windows 7 nový? I když má tento systém mnoho společného s verzí systému Windows, kterou jste používali dříve, můžete potřebovat pomoc, než se v něm zorientujete.
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
IB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
Z. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
NMIN201 Objektově orientované programování 1 / :36:09
NMIN201 Objektově orientované programování 1 / 26 8.10.2013 15:36:09 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat
Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);
Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_033.ICT.34 Tvorba webových stránek MS Visual Studio 2010 - HTML Číslo projektu: CZ.1.07/1.5.00/34.0744
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
Nástrojová lišta v editačním poli
Nástrojová lišta v editačním poli Název projektu PŘEJÍT NA konkrétní sekci webu ZOBRAZIT zobrazí a) pracovní verzi webu (tj. nepublikovanou) b) publikovanou verzi webu a) Odstranit odstraní zobrazenou
Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání
Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou
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
Dynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
MS Excel 2007 Kontingenční tabulky
MS Excel 2007 Kontingenční tabulky Obsah kapitoly V této kapitole se seznámíme s nástrojem, který se používá k analýze dat rozsáhlých seznamů. Studijní cíle Studenti budou umět pro analýzu dat rozsáhlých
APLIKACE XML PRO INTERNET
APLIKACE XML PRO INTERNET Jaroslav Ráček Fakulta Informatiky, Masarykova Universita Brno Abstrakt Text je věnován možnostem využití XML technologie pro prezentaci dokumentů pomocí Internetu. V úvodu je
Anotace. Objekt self, operátor @. Zapouzdření, polymorfismus,
Anotace Objekt self, operátor @. Zapouzdření, polymorfismus, dědičnost, virtuální metody, čistě virtuální funkce, abstraktní třídy. Objekt self, operátor vzetí pointeru Říkali jsme si o konstruktorech
Jak vytvořit nebo předělat vlastní motiv pro SunLight CMS
Jak vytvořit nebo předělat vlastní motiv pro SunLight CMS V tomto tutoriálu se podíváme na to, jak si při troše šikovnosti udělat nebo předělat vybraný motiv pro redakční systém SunLight CMS. Jako příklad
Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.
Úvodní příručka Microsoft Access 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Změna velikosti obrazovky nebo zavření databáze
NPRG031 Programování II 1 / :25:46
NPRG031 Programování II 1 / 26 28. 2. 2018 11:25:46 Objekty Svět se skládá z objektů! konkrétní x abstraktní hmatatelné x nehmatatelné (letadlo) x (chyba v programu) Objekty mohou obsahovat jiné objekty
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
Objekty v PHP 5.x. This is an object-oriented system. If we change anything, the users object.
Objekty v PHP 5.x This is an object-oriented system. If we change anything, the users object. Objektové PHP Objekty se poprvé objevili v PHP ve verzi 4. Nepříliš zdařilý pokus. Programátoři získali nedůvěru
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
Kombinované úlohy - cvičení
DUM Vyšší odborná škola, Obchodní akademie a Střední odborná škola EKONOM, o. p. s. Algoritmy DUM III/2-T1-1-16 PRG-01A-var1 Téma: Kombinované úlohy cvičení Střední škola Rok: 2012 2013 Varianta: A Zpracoval:
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á
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Anonymní funkce BI-JSC Evropský sociální fond
PB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
1 Tabulky Příklad 3 Access 2010
TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost diagramům tříd, asociaci,
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
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
Tvorba fotogalerie v HTML str.1
Tvorba fotogalerie v HTML str.1 obr. A obr. B 1) Spustíme PsPad, vytvoříme nový dokument a otevře se nám okno nový soubor, kde si můžeme zvolit jaký chceme typ. My označíme HTML a potvrdíme. 2) Pro správné
Magento se představuje
Kapitola 1 Magento se představuje 1.1 Co je to vlastně Magento? Magento je nový profesionální open-source e-shop pro e-commerce 21. století. Nabízí nevídanou flexibilitu, funkčnost a ovládání. S tímto
Chování konstruktorů a destruktorů při dědění
Dědičnost V objektově orientovaném programování je dědičnost způsob, jak vytvořit novou třídu použitím již existujících definic jiných tříd. Takto vytvořené třídy přebírají vlastnosti a metody svého předka
1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4
CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................
Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec
StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak
Ukázka knihy z internetového knihkupectví www.kosmas.cz
Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 2 0 1 U k á z k a k n i h
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
Instalace produktu Ontopia. ver. 5.0.2 (open-source verze)
Instalace produktu Ontopia ver. 5.0.2 (open-source verze) Martina Husáková 1.2.2010 PÁR SLOV ÚVODEM Produkt společnosti Bouvet Ontopia (dříve Ontopia Knowledge Suite OKS) je jedním z nejpoužívanějších
z aplikace Access 2003
V tomto průvodci Microsoft Aplikace Microsoft Access 2010 vypadá velmi odlišně od aplikace Access 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o klíčových
Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.
Téma 3.2 Formuláře Formuláře usnadňují zadávání, zobrazování, upravování nebo odstraňování dat z tabulky nebo z výsledku dotazu. Do formuláře lze vybrat jen určitá pole z tabulky, která obsahuje mnoho
Word Lekce III. a IV.
Word 2007 Lekce III. a IV. Záložní kopie Povolení a nastavení automatického obnovení a automatického uložení může být žádoucí ve chvíli, kdy aplikace Word nahlásí neočekávanou chybu, kolizi aplikace a
Programujeme v softwaru Statistica
Programujeme v softwaru Statistica díl třetí Newsletter Statistica ACADEMY Téma: Programování, makra, skripty Typ článku: Návody V předchozích článcích (díl první, díl druhý) jsme si osvětlili základní
Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit.
Úvodní příručka Microsoft Visio 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Aktualizované šablony Šablony vám pomáhají při
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
Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází
Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů
Multimediální prezentace MS PowerPoint I
Multimediální prezentace MS PowerPoint I Informatika Multimediální prezentace zažívají v poslední době obrovský rozmach. Jsou používány například k reklamním účelům, k předvedení výrobků či služeb. Velmi
KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.
KAPITOLA 3 Architektura aplikací na frameworku Rails V této kapitole: modely, pohledy, řadiče. 58 Část I: Začínáme Jedna ze zajímavých vlastností frameworku Rails spočívá v tom, že klade docela závažná
Úvodní příručka. Správa souborů Kliknutím na kartu Soubor můžete otevřít, uložit, vytisknout a spravovat své soubory Wordu.
Úvodní příručka Microsoft Word 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Panel nástrojů Rychlý přístup Příkazy tady umístěné
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
Funkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
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)
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
CMSSS manuál k použití http://www.mezulanik.cz
CMSSS manuál k použití http://www.mezulanik.cz CMSSS je redakční systém napsaný v jazycích PHP a MySQL. Vše je navrženo tak, aby weby postavené na tomto systému mohli spravovat i nezkušení uživatelé. Největší
dokumentu, respektive oddílu (více o oddílech v další kapitole). Nemůžeme
Microsoft Office IV Sloupce Chtěli bychom psát školní noviny a máme pocit, že jsou málo profesionální. Chtěli bychom využít možnost psaní v několika sloupcích. Nastavíme si na stránce místo jednoho sloupce
Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková
Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací