Plan prezentacji. System szablonów OPT. OPT Open Power Template. System szablonów. Przedmiot: Internet i jego zastosowanie. Wstęp

Podobne dokumenty
OPT Open Power Template. System szablonów OPT. Przykładowy skrypt oraz szablon OPT OPT API

Podstawy JavaScript ćwiczenia

Podstawy (X)HTML i CSS

Test przykładowy 2 PAI WSB Wrocław /06/2018

Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty

JavaScript funkcyjność

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Wykład 03 JavaScript. Michał Drabik

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński

MVC w praktyce tworzymy system artykułów. cz. 2

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

PHP 5 język obiektowy

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

Podstawy wzorca MVC MODEL KON- TROLER WIDOK. Odpowiada za wyświetlenie danych użytkownikowi. Zawiera dane aplikacji oraz jej logikę.

MVC w praktyce tworzymy system artykułów. cz. 1

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Wykład 2 TINT. XHTML tabele i ramki. Zofia Kruczkiewicz

Metaprogramowanie w Ruby

Tworzenie Stron Internetowych. odcinek 10

Programowanie internetowe

HTML (HyperText Markup Language) hipertekstowy język znaczników

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

TECHNOLOGIE SIECI WEB

Systemy internetowe Wykład 3 PHP

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty

Systemy internetowe HTML

Aplikacje WWW - laboratorium

Kurs WWW. Paweł Rajba.

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Programowanie i projektowanie obiektowe

Zaawansowane aplikacje WWW - laboratorium

Funkcje i instrukcje języka JavaScript

Aplikacje WWW - laboratorium

HTML DOM, XHTML cel, charakterystyka

Szablon główny (plik guestbook.php) będzie miał postać:

Programowanie obiektowe

Scenariusz Web Design DHTML na 10 sesji. - Strony statyczne I dynamiczne. - Dodawanie kodu VBScript do strony HTML. Rysunek nie jest potrzebny

Dokumenty SEDU składają się z dwóch części: Opisu sprawy Formularza elektronicznego

Facelets ViewHandler

Plan prezentacji XSLT. XSLT Ogólna charakterystyka. Drzewo XML. Wstęp. Przedmiot: XML i jego zastosowania. Zagadnienia podstawowe

Podstawowe wykorzystanie Hibernate

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Programowanie obiektowe

Google Web Toolkit. Piotr Findeisen

Programowanie Komputerów

Bazy Danych i Usługi Sieciowe

ś ę ę ęż Ć Ł ę ę ę ś ść ż ś ż ę ś ś ę Ż ć ć ś ę ż ś ę Ś Ą Ś ś ę ś ż ż

ć Ę

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 1 Wprowadzenie do PHP

Ź Ę ć ź

Ą Ę Ł Ą Ż

ś ś ś ź ć ś ś

Ł

Ą ŚĆ Ś Ś Ę ć

ć ć ć

Ż ź Ł

ś ś ś ś ś ś ś ś ś ś ć ś Ż Ż ć ś ś Ż ć

ź Ć Ż

Zaawansowane aplikacje internetowe

ź Ź Ź ć ć ć ź ć ć ć ć ć Ź

Ę

Ę Ż ż Ł ź ż ż ż ż

ś ść ść ś ść ść ś ś ś ś ść ś ś ś ść ść

ć Ę ć Ę ź Ę

Krótki kurs JavaScript

Smarty PHP. Leksykon kieszonkowy

XML extensible Markup Language. część 5

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Diagramy klas. dr Jarosław Skaruz

Wykład 5_2 Arkusze stylów dziedziczenie. Technologie internetowe Zofia Kruczkiewicz

Bazy danych. dr Radosław Matusik. radmat

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

Plan prezentacji DTD. Wiązanie DTD z dokumentem XML Deklaracja typu dokumentu. Co to jest DTD. Wstęp. Przedmiot: XML i jego zastosowania

Tablica zawierająca odniesienia do znajdujących się w dokumencie obiektów typu Anchor.

Programowanie RAD Delphi

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

INSTALACJA I KONFIGURACJA SERWERA PHP.

Kompozycja Proceduralna

ż ć Ę ż ż ż Ń Ł ż ż ż ż ż ż ż ż

O stronach www, html itp..

XML extensible Markup Language. część 5

Kurs HTML 4.01 TI 312[01]

I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014

JQuery. $('#pierwszy').css('color','red').hide('slow').show(3000); $(document).ready(function() { //... tutaj nasze skrypty jquery //...

Rys.2.1. Drzewo modelu DOM [1]

Imię, nazwisko i tytuł/stopień KOORDYNATORA (-ÓW) kursu/przedmiotu zatwierdzającego protokoły w systemie USOS Dr Adam Naumowicz

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Programowanie zorientowane obiektowo. Mateusz Kołecki

Zdarzenia Zdarzenia onload i onunload

Przykładowa implementacja

Transkrypt:

Plan prezentacji Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak Wyższa Szkoła Zarządzania i Bankowości w Krakowie http://artemis.wszib.edu.pl/~polak/ Wyrażenia Sekcje Bloki Dr inż. Stanisław Polak 1 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 2 Przedmiot: Internet i jego zastosowanie System ów OPT Open Power Template Rodzaj biblioteki programistycznej stosowanej w aplikacjach WWW do osadzania danych w ach prezentacyjnych Kontrowersje Wzajemna niekompatybilność Trudności w opanowaniu Utrudnianie pracy Zalety Lepsza organizacja kodu Usprawnienie pracy w większych zespołach projektowych Poprawienie przenośności kodu System ów PHP5 Niektóre właściwości: Składnia XML Obsługa XML i XHTML Obsługa formatu HTML Tryb dziwactw (Quirks mode) Zaawansowany OOP Komponenty Rozszerzalność Obsługa nagłówków HTTP Wsparcie gzip Dr inż. Stanisław Polak 3 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 4 Przedmiot: Internet i jego zastosowanie

Przykładowy Przykładowy 1 <?php 2 require(./ lib /Opl /Base.php ) ; 3 Opl_Loader : : setdirectory(./ lib / ) ; 4 Opl_Loader : : register ( ) ; 5 // r e q u i r e (. / o p l. phar ) ; 6 // r e q u i r e (. / opt. phar ) ; 7 8 try 9 { 10 $tpl = new Opt_Class ; 11 $tpl >sourcedir =./ templates / ; 12 $tpl >compiledir =./ templates_c / ; 13 $tpl >contenttype = Opt_Output_Http : : XHTML ; 14 $tpl >charset = utf -8 ; 15 $tpl >setup ( ) ; 16 17 $view = new Opt View( template.tpl ) ; 18 $view->hello = Hello, world! ; 19 20 $out = new Opt Output Http ; 21 $out >setcontenttype ( ) ; 22 $out >render( $view ) ; 23 } 24 catch ( Opt_Exception $exception ) 25 { 26 Opt_Error_Handler ( $exception ) ; 27 } 28?> 1 <? xml v e r s i o n=" 1.0 "?> 2 <opt : r o o t> 3 <opt:prolog /> 4 <opt:dtd template="xhtml10transitional"/> 5 <html> 6 <head> 7 <title>mój pierwszy OPT</ title> 8 </ head> 9 <body> 10 <p>mój pierwszy OPT</p> 11 <p>wiadomo ś ć ze u : {$hello}</p> 12 </ body> 13 </ html> 14 </ opt : r o o t> templates/template.tpl Dr inż. Stanisław Polak 5 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 6 Przedmiot: Internet i jego zastosowanie Tryby kompilatora Sekcja CDATA XML HTML Quirks 1 <? xml v e r s i o n=" 1.0 " encoding="utf -8" standalone="no"?> 2 <opt : r o o t> 3 <opt : p r o l o g /> 4 <opt : dtd template=" xhtml10transitional " /> 5 <html xmlns="http :// www.w3.org /1999/ xhtml " xml : lang="pl" lang=" pl"> 6 <head> 7 <meta http e q u i v=" Content - Type " content=" text / html ; charset= UTF -8" /> 8 <title>{$title}</ title> 9 </ head> 10 <body> 11... 12 <opt:section name=" content "> 13 <opt:include from=" content "/> 14 </opt:section> 15... 16 <li opt : s e c t i o n=" menu "> 17 <opt:attribute name=" class " if=" $menu. important "> important</opt:attribute> 18 <a parse:href=" $menu. url ">{$menu. tytul}</a> 19 </li> 20... 21 </ body> 22 </ html> 23 </ opt : r o o t> tryb XML 1 <script type="text / javascript "> 2 <opt:literal> 3 <! [ CDATA[ 4 document. w r i t e ( H e l l o my f r i e n d, do you need { $ h e l l o } o r ] ]>{$hello}<! [ CDATA [? ) ; 5 ] ]> 6 </opt:literal> 7 </ script> 1 <script type="text / javascript "> 2 <! [ CDATA[ 3 document. w r i t e ( H e l l o my f r i e n d, do you need { $ h e l l o } o r ]]> H e l l o, w o r l d! 4 ] ]> 5 </ script> <![CDATA[? ) ; nieprawidłowy kod wynikowy JS 1 <script type="text / javascript "> 2 <! [ CDATA[ 3 document. w r i t e ( H e l l o my f r i e n d, do you need { $ h e l l o } o r H e l l o, w o r l d? ) ; 4 ] ]> 5 </ script> prawidłowy kod wynikowy JS Dr inż. Stanisław Polak 7 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 8 Przedmiot: Internet i jego zastosowanie

Prolog dokumentu oraz DTD Encje 1 <? xml v e r s i o n=" 1.0 " s t a n d a l o n e=" yes "?> 2 <opt : r o o t> 3 <opt:prolog s t a n d a l o n e="no"/> 4 <opt:dtd t e m p l a t e="xhtml - strict "/> 5 <html> 6 <head> 7 </ head> 8 9 <! t h e t e m p l a t e > 10 </ html> 11 </ opt : r o o t> 1... 2 <opt:dtd> 3 <! [ CDATA[<! DOCTYPE h i [ 4 <!ELEMENT h i (#PCDATA)> 5 ]>]]> 6 </opt:dtd> 7... wewnętrzne DTD XML & & < < > > " &apos; Unicode ( &#0xB8... ) HTML ( &Acute;... ) gdy w skrypcie: $tpl->htmlentities = true; OPT &lb; { &rb; } definiowane przez użytkownika wyświetl encję: u:entity( Acute ) wyświetl encję: &Acute; Dr inż. Stanisław Polak 9 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 10 Przedmiot: Internet i jego zastosowanie Wyrażenia Wyrażenia Zmienne 1 <p>wyra ż enie jako czę ś ć tekstu statycznego : {$zmienna}</ para> 2 <p {$zmienna}>w taki sposób nie można umieszcza ć wyra żeń.</p> 3 <p class="{ $zmienna }">W taki sposób nie można umieszcza ć wyra żeń.</p> 4 <p parse : class=" $zmienna ">Wyra ż enie jako warto ś ć atrybutu znacznika.</p> 5 <opt : i f t e s t=" $zmienna ">Wyra ż enie jako warto ś ć atrybutu instrukcji OPT.</ opt : i f> 1 <p>zmienna lokalna {$zmienna}</p> 2 {@zmienna=1} 3 <p>zmienna globalna {@zmienna}</p> 4 <p>zmienna j ę zykowa : {$formularz@nazwa pola}: <input type=" text " name=" name " /></p> 5 <p>{count($osoba)} parametr ów opisuje osob ę :</p> 6 <p>imi ę : {$osoba.imie}</p> 7 <p>nazwisko : {$osoba.nazwisko}</p> 8 <p>wiek : {$osoba.wiek}</p> Zmienne specjalne: $sys lub $opt $sys.version $sys.const.name $global $this Dr inż. Stanisław Polak 11 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 12 Przedmiot: Internet i jego zastosowanie

Wyrażenia Wartości Wyrażenia Operatory liczby całkowite w kodzie dziesiątkowym: 1, -9 w kodzie szesnastkowym: 0x3abc5, -0x3ABC5 liczby rzeczywiste: 3.14 łańcuchy znakowe przykładowy tekst zawierający apostrof \ oraz ukośnik \\ slowo1 neq slowo2 wartości specjalne: true, false, null postać tekstowa @a is $b $a ~ $b postać symboliczna $a === $b Dr inż. Stanisław Polak 13 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 14 Przedmiot: Internet i jego zastosowanie Wyrażenia Funkcje Wyrażenia Lewe apostrofy 1 funkcja ( ) 2 3 funkcja ( $argument ) 4 5 funkcja ( 5 ) 6 7 funkcja ( $argument1, $argument2 ) 8 9 funkcja ( $a + $b, $c + $d ) 10 11 funkcja ( $argument1, other_function ( $argument1 ) ) 12 13 $a is funkcja ( $argument ) // p r z y p i s z z m i e n n e j a wynik wywo ł a n i a f u n k c j i przykładowe wywołanie 1... 2 function mybacktickhandler ( $string ) 3 { 4 return strtoupper ( $string ) ; 5 } // end mybacktickhandler ( ) ; 6 7 $tpl >backticks = mybacktickhandler ; 8... 2 {@hello = abc } 3 {@hello} <! wypisze s i ę ABC > 4 </ body> Dr inż. Stanisław Polak 15 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 16 Przedmiot: Internet i jego zastosowanie

Wyrażenia Obiekty Obsługiwane cechy OOP dostęp do pól oraz metod obiektu dostęp do statycznych pól oraz metod zarejestrowanych klas tworzenie nowych obiektów zarejestrowanych klas klonowanie obiektów 1 $tpl = new Opt_Class ; 2 //... 3 $tpl >basicoop = true ; 4 $tpl >advancedoop = true ; //wł ą cz moż liwo ś ć tworzenia nowych obiekt ów z a r e j e s t r o w a n y c h k l a s 5 6 // gdy zamierzamy tworzy ć obiekty i bę dziemy odwo ł ywać s i ę do statycznych sk ł a d n i k ów k l a s 7 $tpl >register ( Opt_Class : : PHP_CLASS, nazwaklasyszablonu, rzeczywistanazwaklasyphp ) ; 8 //.. 9 $tpl >setup ( ) ; Wyrażenia HTML escaping 1 <p p a r s e : style=" $foo ">Text</p> 2 <! zak ł adamy ż e $foo = <div>bar</ div> 3 <! gdy escaping j e s t wył ą czony > 4 <p style="<div >bar </ div >">Text</p> 5 <! gdy escaping j e s t wł ą czony > 6 <p style="<div >bar &lt ;/ div >">Text</p> Kontrola escaping: 1. dyrektywa escape w części konfiguracyjnej u OPT 2. atrybut escape elementu opt:root lub opt:extend w bieżącym ie 3. modyfikatory e: lub d: w bieżącym wyrażeniu 1 <opt : r o o t escape="no"> 2 <p>this expression will not be escaped : {$variable}</p> 3 <p>this expression will be escaped : {e : $variable}</p> 4 </ opt : r o o t> 1 $object : : method ( ) 2 $object is new classname ( argumenty konstruktora ) Dr inż. Stanisław Polak 17 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 18 Przedmiot: Internet i jego zastosowanie Sekcje Instrukcja opt:section 1 $list = array ( ) ; 2 $list [ ] = array ( id => 1, 3 name => Produkt 1, 4 description => Opis produktu 1 ) ; 5 $list [ ] = array ( id => 2, 6 name => Produkt 2, 7 description => Opis produktu 2 ) ; 8 $view > products =$list ; 1 <table> 2 <tr> 3 <th>#</th> 4 <th>nazwa</th> 5 <th>opis</th> 6 </tr> 7 <opt:section name=" products "> 8 <tr> 9 <td>{$products.id}</td> 10 <td>{$products. name}</td> 11 <td>{$products. description}</td> 12 </tr> 13 </opt:section> 14 </ table> # Nazwa Opis 1 Produkt 1 Opis produktu 1 2 Produkt 2 Opis produktu 2 Sekcje Instrukcja opt:show 2 <opt:show name=" products "> 3 <table> 4 <tr> 5 <th>#</th> 6 <th>name</th> 7 <th>description</th> 8 </tr> 9 <opt : s e c t i o n> 10 <tr> 11 <td>{$products. id}</td> 12 <td>{$products. name}</td> 13 <td>{$products. description}</td> 14 </tr> 15 </ opt : s e c t i o n> 16 </ table> 17 <opt:showelse> 18 <p>brak produktow.</p> 19 </opt:showelse> 20 </opt:show> 21 </ body> Zmienna $sys.section.nazwasekcji Dr inż. Stanisław Polak 19 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 20 Przedmiot: Internet i jego zastosowanie

Sekcje Instrukcja opt:tree Sekcje Instrukcja opt:grid 1 $tree = array ( 2 array ( nazwa => Element 1, depth => 0), 3 array ( nazwa => Element 1.1, depth => 1), 4 array ( nazwa => Element 1.2, depth => 1), 5 array ( nazwa => Element 1.2.1, depth => 2), 6 array ( nazwa => Element 2, depth => 0) 7 ) ; 8 $view >tree=$tree ; 1 $elements = array ( 2 array ( nazwa => Element 1 ), 3 array ( nazwa => Element 2 ), 4 array ( nazwa => Element 3 ), 5 array ( nazwa => Element 4 ), 6 array ( nazwa => Element 5 ) 7 ) ; 8 $view >elements=$elements ; 2 <opt:tree name=" tree "> 3 <opt:list><ul><opt:content/></ul></opt:list> 4 <opt:node><li>{$tree. nazwa} <opt:content/></li ></opt:node> 5 <opt : t r e e e l s e><p>brak danych do wy ś wietlenia.</p></ opt : t r e e e l s e> 6 </opt:tree> 7 </ body> 1. Element 1 1. Element 1.1 2. Element 1.2 1. Element 1.2.1 2. Element 2 1 <table border="1"> 2 <opt:grid name=" elements " cols="3"> 3 <tr> 4 <opt:item> 5 <td>{$elements. nazwa}</td> 6 </opt:item> 7 <opt:emptyitem> 8 <td>&nbsp ;</td> 9 </opt:emptyitem> 10 </tr> 11 </opt:grid> 12 </ table> Element 1 Element 2 Element 3 Element 4 Element 5 Dr inż. Stanisław Polak 21 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 22 Przedmiot: Internet i jego zastosowanie Bloki Definiowanie logiki bloku Bloki Instrukcja opt:block 1 class columnblock implements Opt_Block_Interface{ 2 private $_view ; 3 private $_link ; 4 5 public function construct ( $link = null ){ 6 $this >_link = $link ; 7 } // end c o n s t r u c t ( ) ; 8 9 public function setview ( Opt_View $view ){ 10 $this >_view = $view ; 11 } // end s e t O p t I n s t a n c e ( ) ; 12 13 public function onopen ( Array $attributes ){ 14 $link = isset ( $attributes [ link ] )? $attributes [ link ] : $this >_link ; 15 echo <a href =". $link. "> ; 16 return true ; 17 } // end onopen ( ) ; 18 19 public function onclose ( ) { 20 echo </a> ; 21 } // end o n C l o s e ( ) ; 22 23 public function onsingle ( Array $attributes ){} 24 } // end columnblock ; 25... 26 $view >columns = array ( 27 array ( title => Kolumna 1, block => new columnblock ( 1. html ) ), 28... 29 ) ; 2 <table border = 1 > 3 <tr> 4 <opt : s e c t i o n name=" columns "> 5 <td><opt:block from=" $columns. block ">{columns. title}</opt:block></td> 6 </ opt : s e c t i o n> 7 </tr> 8 </ table> 9 </ body> 2 <table border = 1 > 3 <tr> 4 <td><a href="1. html ">Kolumna 1</a></td> 5... 6 </tr> 7 </ table> 8 </ body> dokument wynikowy Dr inż. Stanisław Polak 23 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 24 Przedmiot: Internet i jego zastosowanie

Komponenty Źródła Szkielet komponentu Źródła 1 <opt:myinput d a t a s o u r c e=" $fielddata "> 2 <com:div> 3 <p>{$sys. component. title} <span opt : i f="$sys.component. description ">{$sys. component. description}</ span></p> 4 <opt:display /> 5 6 <opt:onevent name=" error "> 7 <p class=" error ">{$sys. component. errormessage}</p> 8 </opt:onevent> 9 </com:div> 10 </opt:myinput> Invenzzia Group. Open Power Template 2.0. http://static.invenzzia.org/docs/opt/2_0/book/en/. Wikipedia. http://pl.wikipedia.org/. 1 class myinputcomponent implements Opt Component Interface { 2... 3 } 4... 5 $tpl >register( Opt_Class : : OPT_COMPONENT, opt:myinput, myinputcomponent ) ; Dr inż. Stanisław Polak 25 Przedmiot: Internet i jego zastosowanie Dr inż. Stanisław Polak 26 Przedmiot: Internet i jego zastosowanie