Mechanizm routingu mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
|
|
- Grażyna Lewicka
- 9 lat temu
- Przeglądów:
Transkrypt
1 Mechanizm routingu mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
2 URL (Uniform Resource Locator) unikalny identyfikator wskazujący lokalizację zasobu sieciowego. URI (Uniform Resource Identyficatior) unikalny identyfikator zasobu sieciowego. Standardowo URI strony www (np. jest utożsamiany z jej URL. Przykładowe URI (tożsame z URL) ie=utf-8&oe=utf-8 Rozróżnienie URI i URL jest istotne m. in. z punktu widzenia tzw. sieci semantycznej (Semantic Web). Wiedz ludzka powinna być zapisana w ustandaryzowanym formacie, a każdy zapis ma swój jednoznaczny identyfikator, odnoszący się do bytów rzeczywistych i abstrakcyjnych.
3 URL interfejs zasób <=> użytkownik Wady tradycyjnych URL: o Link postaci test.pl/?id=5&shva=1 nie mówi nic na temat zasobu na jaki wskazuje. o Ujawniają wewnętrzną strukturę aplikacji możliwe ryzyko bezpieczeństwa. Mechanizm routingu dedykowany framework wbudowany w Symfonie, służący zarządzaniu wewnętrznymi i zewnętrznymi URL ami. Gdy przychodzi żądanie wyświetlenia danej strony mechanizm routingu parsuje URL a i konwertuje go na wewnętrzny identyfikator URI. /job/show/id/1 job/show?id=1
4 Generalnie wewnętrzne URI są projektowane według następującego wzorca: MODULE/ACTION?key=value&key_1=value_1&... W przykładowym URI: /job/show/id/1 job nazwa modułu, show nazwa akcji, id/1 - parametr Routing jest mechanizmem dwukierunkowym zmiana URLi nie niesie ze sobą konieczności zmiany wewnętrznej implementacji URI.
5 Przyporządkowanie URI URL jest definiowane w pliku konfiguracyjnym routing.yml. Plik ten opisuje tzw. ścieżki. Każda ścieżka ma swoją nazwę (np. homepage), wzorzec w postaci wyrażenia regularnego (/:module/:action/*) i ewentualne parametry. Podczas żądania dostępu do zasobu, mechanizm routingu próbuje dopasować wzorzec do adresu URL. Kolejność ścieżek jest bardzo ważna! Pierwsza ścieżka która zostanie dopasowana wygrywa. ścieżki
6 Gdy pojawia się żądanie mające URL postaci <adres_serwera>/job, pierwszą ścieżką która zostanie dopasowana jest ścieżka nazwana default_index. We wzorcu słowo poprzedzone znakiem dwukropka (:) oznacza zmienną, więc zapis /:module oznacza dopasuj adres w postaci /cokolwiek. Wówczas zmienna specjalna module będzie miała wartość job. Wartość tą można pobrać wykorzystując polecenie: $request->getparameter('module') W podanym przykładzie została również zdefiniowana wartość jaką przyjmie zmienna action. Wobec tego dla każdego adresu URL, który zostanie dopasowany do tej ścieżki, będzie miał parametr action ustawiony na index.
7 Żądanie w postaci /job/show/id/1 zostanie dopasowane do wzorca /:module/:action/*. Znak gwiazdki (*) we wzorcu oznacza dowolną liczbę par klucz-wartość rozdzielonych znakiem ukośnika /. Ostatecznie zatem zostanie dokonane następujące przyporządkowanie: module = job action = show id = 1 Aby stworzyć odnośnik URL postaci /job/show/id/1 w kodzie szablonu należy wywołać funkcję url_for(): url_for('job/show?id='.$job->getid()) Można również osiągnąć ten sam efekt wykorzystując nazwę ścieżki: url_for('@default?module=job&action=show&id='.$job->getid())
8 Po wejściu na adres naszej aplikacji jesteśmy witani domyślną stroną Contratulations. Aby to zmienić należy lekko zmodyfikować odpowiedzialną za to zachowanie ścieżkę na: Jedyną potrzebną zmianą jest zmiana modułu z default na ad. Ale prócz tego dobrze jest zmodyfikować wszelkie inne odwołania szablonu (apps/frontend/templates/layout.php ) tak aby korzystały one z wprowadzonej przez nas ścieżki.
9 Zmienimy adresy w formacie: na bardziej przyjazny zapis: W tym celu należy dodać nową ścieżkę do pliku routing.yml: Oprócz tego należy zmodyfikować funkcję url_for() w pliku indexsuccess.php, aby poprawnie generowała ona linki w takim formacie. Jak to zrobić? Można też zdefiniować format URL korzystając z tablicy:
10 System routingu ma wbudowane mechanizmy do walidacji URL. Każda zmienna zdefiniowana we wzorcu może zostać poddana walidacji wykorzystując wyrażenia regularne. Odpowiada za to sekcja requirements. Powyższy zapis narzuca wymaganie, aby zmienna id była typu numerycznego. W przeciwnym wypadku ścieżka nie zostanie dopasowana i następuje próba analizy wzorca innej ścieżki.
11 Każda ścieżka zdefiniowana w pliku routing.yml jest wewnętrznie reprezentowana jako obiekt klasy sfroute. Klasę tą można zmienić korzystając z parametru class. Wiadomym jest, że protokół HTTP ma wiele metod m.in. GET, POST, HEAD itp. Można wprowadzić restrykcje, by ścieżka została dopasowana tylko jeśli użyto określonej metody protokołu HTTP w żądaniu. Ograniczenie to wymaga zmiany klasy ścieżki na sfrequestroute i podaniu określonych metod jako wartości parametru sf_method.
12 Jako, że wewnętrzny URI dla funkcji url_for() w pliku indexsuccess.php jest dość długi, można to obejść zmieniając klasę ścieżki ponownie, tym razem na sfdoctrineroute. Klasa sfdoctrineroute została stworzona by operować na ścieżkach będących obiektami Doctrine. Ścieżka ad_show_user jest teraz powiązana z StudAdAd, więc na dostęp do wszystkich pól tej klasy. Można zatem uprościć wpis w pliku indexsuccess.php na:
13 Rozwiązanie prawie działa. Ale zamiast: jest Wynika to z występowania spacji w tytule ogłoszenia Kupie patelnie. Dlatego należałoby stworzyć funkcję naprawczą, która zamieni wszystkie znaki nie będące literami bądź cyframi znakiem myślnika (-). Proszę otworzyć plik lib\model\doctrine\studadad.class.php i dopisać następującą funkcję:
14 Następnie proszę utworzyć plik lib\model\doctrine\naprawiacz.class.php z następującą zawartością: Oraz zmodyfikować utworzoną wcześniej ścieżkę: To już prawie koniec pozostała tylko jeszcze jedna mała sprawa
15 Ścieżka potrafi nie tylko wygenerować adres URL na podstawie zadanego obiektu [tak jak to było robione do tej pory za pomocą url_for() ], natomiast jest ona również zdolna znaleźć obiekt powiązany z określonym adresem URL. Podczas parsowania żądania przychodzącego, mechanizm routingu przechowuje powiązany z nim obiekt ścieżki, by można go było wykorzystać w akcjach. Należy zatem zmienić funkcję executeshow() aby operowała na obiekcie klasy Naprawiacz. StudAd\apps\frontend\modules\ad\actions\actions.class.php
16 Uzyskaliśmy już przyjazny adres do akcji wyświetlania danego ogłoszenia. Ale zostały jeszcze inne metody (index, new, edit, create, update, delete), które są nadal obsługiwane przez domyślną ścieżkę: Proszę zatem zmodyfikować plik routing.yml :
17 Jako, że zostały stworzone ścieżki dla wszystkich możliwych adresów URL, nie ma potrzeby korzystania już ze ścieżek domyślnych (z prefiksem default). Można je więc zakomentować lub usunąć.
18 Aktualnie wszystkie ogłoszenia są wyświetlane Jaki warunek (WHERE) należałoby by wprowadzić, by były wyświetlane tylko ogłoszenia nie starsze niż 30 dni?
19 Będąc w środowisku developerskim, uzupełniają się automatycznie logi odnośnie wszelkich działań w aplikacji, w tym widoczne są wszelkie zapytania SQL kierowane do odpowiedniego systemu bazodanowego. Wszelkie dzienniki znajdują się w katalogu /log. Znak? w zapytaniu oznacza, że Doctrine jest odpowiedzialne za podstawienie tam rzeczywistej wartości w bezpieczny sposób. Można korzystać też z paska logów - szybciej:
20 Ok wyświetlają się już ogłoszenia nie starsze niż 30 dni. A co z polem expires_at? Jakie wpisać zapytanie, aby tylko aktywne ogłoszenia były widoczne (wykorzystując dane zawarte w expires_at?) Proszę uzupełnić plik \data\fixtures\ads.yml dodając do niego jeden wpis należący do kategorii sprzedam, z datą wygaśnięcia równą Następnie proszę przeładować dane (doctrine:data-load) oraz sprawdzić czy dodany wpis się pojawił. Proszę zrobić najpierw kopię zapasową pliku ads.yml just in case!
21 Poprzedni kod działa dobrze, ale miesza warstwy kontrolera i modelu (obiekt Doctrine_Query należy do modelu). Należy stworzyć zatem dodatkową metodę w klasie lib\model\doctrine\studadadtable.class.php: Przemycono klauzulę ORDER BY Oraz zmienić metodę executeindex na:
22 Aby zrealizować tą funkcjonalność należy dodać metodę getwithads() do pliku lib\model\doctrine\studadcategorytable.class.php, której zadaniem będzie pobranie wszystkich tych kategorii, które mają przypisane przynajmniej jedno aktualne ogłoszenie. Jakie złączenie SQL należałoby wykonać, aby zrealizować tą funkcjonalność? Należy jeszcze zmodyfikować plik apps\frontend\modules\ad\actions\actions.class.php:
23 Proszę zmodyfikować plik lib\model\doctrine\studadcategory.class.php dodając do niego następującą metodę getactiveads(): Następnie proszę zmodyfikować metodę getactiveads() w pliku lib\model\doctrine\studadadtable.class.php
24
25 Należy zmodyfikować funkcję getactiveads() z klasy StudAdCategory w sposób następujący: Ale wówczas liczba rezultatów na stronę zostanie ustawiona na stałe (10). Dobrze jest więc zdefiniować parametr globalny w pliku apps\frontend\config\app.yml: Oraz pobrać jego wartość w odpowiednim miejscu, w pliku apps\frontend\modules\ad\templates\indexsuccess.php:
26 Żeby zobaczyć różnice, można albo przekopiować odpowiednią liczbę razy każde ogłoszenie, albo korzystać z mechanizmu dynamic fixtures. Pliki *.yml mogą zawierać pewne części kodu php, które zostaną poddane interpretacji przed dodaniem informacji do bazy danych. Aby więc zduplikować kilka ogłoszeń wystarczy dodać następujący fragment do pliku ads.yml: Znacznik <?php musi rozpoczynać linię albo być częścią wartości. Jeśli znacznik?> kończy linie, należy zawsze dodać znak nowej linii (\n).
27 Znając link do nieaktywnego ogłoszenia nadal można je podejrzeć. W tym celu należy zmodyfikować w pliku routing.yml odpowiednią ścieżkę: Teraz w pliku lib\model\doctrine\studadadtable.class.php należy zdefiniować metodę retrieveactivejob, która doda warunek na pole expires_at do zapytania SQL:
28 Chcąc wyświetlić wszystkie ogłoszenia z danej kategorii dobrze jest zrobić osobną ścieżkę do tego celu: Widać, że trzeba będzie zaprojektować nowy moduł, oraz stworzyć wirtualny akcesor (bo takiego pola nie ma w bazie danych) dla zmiennej slug. Edytujemy więc plik lib\model\doctrine\studadcategory.class.php: Zmienna musi się nazywać slug ze względu na późniejsze kroki
29 Aby dodać link, który będzie się wyświetlał jeśli w danej kategorii jest więcej niż 10 dokumentów edytujemy szablon indexsuccess.php: Należy jeszcze zdefiniować metodę countactiveads(), bo chcemy by link wyświetlał się tylko gdy przekroczony zostanie limit 10 ogłoszeń.
30 Dodajemy do pliku lib\model\doctrine\studadcategory.class.php metodę countactiveads(): Funkcja ta korzysta z innej funkcji nazwanej countactiveads(), ale zdefiniowanej w klasie StudAdAdTable. Należy zatem ją tam dodać. Aby jednak to zrobić, dobrze jest przemodelować pozostałe funkcje tej klasy, aby nie zapisywać nadmiarowego kodu i trzymać się logiki modelu MVC.
31 Proszę zmodyfikować odpowiednie metody klasy StudAdAdTable na następujące:
32 Proszę wejść na stronę z ogłoszeniami. Nazwy kategorii powinny być klikalne: A na dole strony powinna być liczba ogłoszeń z danej kategorii do wyświetlenia (również klikalna).
33 Aby stworzyć moduł dla kategorii proszę wykorzystać polecenie: symfony generate:module frontend category Zostanie stworzony pusty moduł. Warto w tym momencie dokonać zmiany struktury bazy danych. Teraz będziemy się częściej odwoływać do pola z nazwą kategorii, więc musi ono być bezpieczne aby móc zostać wykorzystane jako adres URL. Zaimplementowaliśmy wcześniej metodę getsafename, ale jest prostszy sposób, który oszczędzi również kłopotów z tą funkcjonalnością. Trzeba jednak zmienić strukturę bazy danych i użyć modyfikatora Sluggable.
34 Zmieńmy plik config\doctrine\schema.yml w sposób następujący: Następnie należy wydać polecenie: php symfony doctrine:build --all --and-load -- no-confirmation celem przebudowy całej bazy danych. Można teraz usunąć metodę getsafename() z klasy StudAdCategory.
35 Należy teraz podmienić zawartość pliku apps\frontend\modules\category\actions\actions.class.php na następującą: Spowoduje to dodanie brakującej akcji (dla kliknięcia na nazwę kategorii bądź licznik). W wyniku usunięcia niepotrzebnej metody executeindex() można również usunąć związany z nią automatycznie wygenerowany plik indexsuccess.php. Należy jeszcze stworzyć plik szablonu dla akcji Show().
36
37 Kiedy chcemy współdzielić jakąś część szablonu, dobrze jest zdefiniować tzw. partial. Partial to dołączana część szablonu, którego nazwa zaczyna się od znaku podkreślenia (_). Utwórzmy więc partial o nazwie _list.php w ścieżce: apps\frontend\modules\ad\templates\_list.php. Niech owy partial zawiera całą sekcje <table> wspólną dla szablonów z dwóch modułów (ad i category). Aby dołączyć partial do szablonu należy skorzystać z funkcji pomocniczej include_partial(): <?php include_partial( ad/list', array( ads' => $ad))?> Pierwszy argument funkcji include_partial() to nazwa w formie nazwa_modulu/nazwa_partial_bez_podkreslnika. Drugi argument to tablica parametrów jakie należy przekazać do partial a.
38 Jedyna zmiana
39 Proszę zamienić cała sekcje <table></table> na: Partiale działają bardzo podobnie do funkcji PHP include(), z tą różnicą, że mają wbudowane mechanizmy do obsługi pamięci podręcznej cache. Proszę sprawdzić czy po dodaniu obsługi partials, wszystko jest nadal wyświetlane poprawnie (zarówno ogłoszenia na głównej jak i same kategorie.
40 Spróbujmy podzielić wszystkie kategorie na 20 per stronę. Symfonia posiada dedykowaną klasę do tego celu: sfdoctrinepager. Aby jej użyć należy zmodyfikować plik akcji apps\frontend\modules\category\actions\act ions.class.php:
41 Konstruktor sfdoctrinepager przyjmuje parametr określający maksymalną liczbę ogłoszeń na stronę. Należy go zdefiniować w pliku apps/frontend/config/app.yml: Ponadto metoda setquery() korzysta z innej, niezdefiniowanej metody getactiveadsquery(). Należy ją więc dodać do pliku lib\model\doctrine\studadcategory.class.php:
42 Dodanie metody getactiveadsquery() spowodowało, że można również dokonać refactoringu metod getactiveads() oraz countactivejobs(), aby korzystały z nowostworzonej. Teraz trzeba jeszcze tylko zaktualizować szablon.
43 Proszę uaktualnić szablon znajdujący się w pliku apps\frontend\modules\category\templates\sho wsuccess.php zgodnie z zawartością: s.txt Należy dokonać ewentualnych zmian w nazwach funkcji jeśli są one różne od prezentowanych. Następnie proszę sprawdzić, czy dodana funkcjonalność działa jak należy (kategorie się właściwie wyświetlają itp.)
44 Proszę korzystając z funkcji pomocniczej use_stylesheet() dołożyć pliki stylu, oraz zmienić na tej podstawie wygląd wszystkich stron aplikacji. Jeśli zajdzie taka potrzeba zmodyfikuj odpowiednie pliki *.php Wymagania: Na stronie z ogłoszeniami oraz po wejściu do danej kategorii ma się wyświetlać jedynie tytuł ogłoszenia, jego skrócona treść (do np. 50 znaków) oraz data ważności. Liczba wyświetlanych znaków treści ma być modyfikowalna w pliku konfiguracyjnym aplikacji. Po kliknięciu na nazwę danego ogłoszenia, mają się wyświetlić szczegóły z nim związane (Nazwa, słowna kategoria do której przynależy, pełny opis, mail, telefon, strona www, data utworzenia oraz data ważności), dokładnie w tej kolejności. Proszę popracować nad samym wyglądem tych stron. Mile widziane: zmiana koloru tła wiersza tabeli w zależności od tego czy to wiersz parzysty czy nieparzysty, odpowiednie odstępy między polami, odpowiednio dobrana czcionka (pogrubienie, krój czcionki). Podobnie proszę zmienić wygląd strony do Edytowania/Dodawania nowych ogłoszeń.
URL, URI różnice i podobieństwa
Mechanizm routingu URL, URI różnice i podobieństwa URL (Uniform Resource Locator) unikalny identyfikator wskazujący lokalizację zasobu sieciowego. URI (Uniform Resource Identyficatior) unikalny identyfikator
Backend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Baza danych i ORM mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie
app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji
Baza danych i ORM Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie pojektu). Zwyczajowo projekt posiada dwie aplikacje: Frontend Backend Moduł
app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP
Baza danych i ORM Struktura Bundle app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP src/ - folder zawiera cały kod PHP aplikacji vendor/
Laboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
REFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
Modele danych walidacja widoki zorientowane na model
Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych
Laboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
Instrukcja laboratoryjna
Zaawansowane techniki obiektowe 2016/17 Instrukcja laboratoryjna Testy funkcjonalne Prowadzący: Tomasz Goluch Wersja: 1.0 Testowanie aplikacji z bazą danych Większość współczesnych aplikacji korzysta z
Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:
1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,
ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3
3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0
Tworzenie szablonów użytkownika
Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera
Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Baza danych sql. 1. Wprowadzenie
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który
Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do
Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji
Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych
Widoki zagnieżdżone, layout 1. Wprowadzenie Repozytoria danych Identyczne operacje na danych często się powtarzają np. pobierz książkę. Jeśli zapytanie realizowane jest za każdym razem w metodzie kontrolera
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2
Podręcznik użytkownika Wprowadzający aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
3.4. Opis konfiguracji layoutów.
Definicja layout-ów dla tablicy odczytywana jest z tabeli w bazie danych: [UnitId_System] Gdańsk = 42, Gdynia = 43 [UnitId_Subsytem] 6 = TZT, 7 = ZZT [UnitId_Unit] identyfikator obiektu [Update_TimeStamp]
Skanowanie OCR w aplikacji Kancelaria Komornika. Instrukcja dla użytkownika
Skanowanie OCR w aplikacji Kancelaria Komornika Instrukcja dla użytkownika Spis treści 1. Zakładka Wyrażenia... 3 2. Zakładka Grupy wyrażeń... 5 3. Opcje Skanowania / OCR... 7 4. Rozpoznawanie Danych...
Laboratorium 4: Routing
Laboratorium 4: Routing Ćwiczenie 1. Przygotowanie routingu Czas na coś bardziej skomplikowanego. Strona główna naszej galerii gotowa, pora dodać coś bardziej złożonego. Każdy nasz album zdjęciowy powinien
Wprowadzenie do Doctrine ORM
Wprowadzenie do Doctrine ORM Przygotowanie środowiska Do wykonania ćwiczenia konieczne będzie zainstalowanie narzędzia Composer i odpowiednie skonfigurowanie Netbeans (Tools->Options->Framework & Tools->Composer,
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,
,Aplikacja Okazje SMS
, jest rozwiązaniem, które umożliwia bez umiejętności programistycznych uruchomić własną aplikację na fanpage-u firmy lub marki. Pozwala ona na dodanie numeru telefonu do swojej bazy w SerwerSMS.pl, umożliwiając
Funkcje dodatkowe. Wersja 1.2.1
Funkcje dodatkowe Wersja 1..1 Dokumentacja SMSAPI (https) FUNKCJE DODATKOWE z dnia 1.06.01 Wersja 1..1 SPIS TREŚCI 1.Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją dla funkcji zarządzania kontem
2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel
etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie
Elektroniczny Urząd Podawczy
Elektroniczny Urząd Podawczy Dzięki Elektronicznemu Urzędowi Podawczemu Beneficjent może wypełnić i wysłać formularz wniosku o dofinansowanie projektów w ramach Regionalnego Programu Operacyjnego Województwa
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Podręcznik użytkownika Publikujący aplikacji Wykaz2
Podręcznik użytkownika Publikujący aplikacji Wykaz2 TiMSI Sp z o o ul Czapli 63, 02-781 Warszawa tel : +48 22 644 86 76, fax: +48 22 644 78 52 NIP: 951-19-39-800 Sąd Rejonowy dla mst Warszawy w Warszawie,
PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA
CMS - INFORMACJE *** Mirosław Kuduk E mail: mkuduk@interia.pl tel. kom. 663-755-428 DODATKOWE FUNKCJE - PANEL ADMINISTRATORA Panel Dodatkowe funkcje Autoryzacja Publikacje Nowa publikacja, edycja Pokazy
Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6
Zawartość Wstęp... 1 Instalacja... 2 Konfiguracja... 2 Uruchomienie i praca z raportem... 6 Wstęp Rozwiązanie przygotowane z myślą o użytkownikach którzy potrzebują narzędzie do podziału, rozkładu, rozbiórki
media Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
Programowanie urządzeń mobilnych. projekt 6 ( )
Programowanie urządzeń mobilnych projekt 6 (05.01.2018) Usługi lokalizacyjne Jedną z powszechniejszych funkcjonalności wykorzystywanych przez liczne aplikacje przeznaczone dla urządzeń mobilnych jest możliwość
Ekran główny lista formularzy
Administracja modułem formularzy dynamicznych Konfigurator formularzy dynamicznych Funkcjonalność konfiguratora formularzy dynamicznych pozwala administratorowi systemu na stworzenie formularza, w którym
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości
Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy
Data wydania: 2013-06-12. Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego
Wersja 1.0 Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach Programu Operacyjnego Kapitał Ludzki Tytuł dokumentu: Dokumentacja dla administratora strony
Podstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii
5. Mechanizm szablonów.
5. Mechanizm szablonów. Moduł szablonów daje możliwość definicji dowolnej ilości szablonów strony publicznej serwisu. W połączeniu z modułami Marketing MIX oraz Wzorców Elementów został opracowany tak
Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne
Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z
Ćwiczenie: JavaScript Cookies (3x45 minut)
Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)
Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta
Instrukcja użytkownika
SoftwareStudio Studio 60-349 Poznań, ul. Ostroroga 5 Tel. 061 66 90 641 061 66 90 642 061 66 90 643 061 66 90 644 fax 061 86 71 151 mail: poznan@softwarestudio.com.pl Herkules WMS.net Instrukcja użytkownika
1.Formatowanie tekstu z użyciem stylów
1.Formatowanie tekstu z użyciem stylów Co to jest styl? Styl jest ciągiem znaków formatujących, które mogą być stosowane do tekstu w dokumencie w celu szybkiej zmiany jego wyglądu. Stosując styl, stosuje
Projekt Hurtownia, realizacja rejestracji dostaw produktów
Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące
Specyfikacja HTTP API. Wersja 1.6
Specyfikacja HTTP API Wersja 1.6 1. Wprowadzenie Platforma PlaySMS umożliwia masową rozsyłkę SMS-ów oraz MMS-ów marketingowych. Umożliwiamy integrację naszej platformy z dowolnym systemem komputerowym
SQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Nowe funkcje w programie Symfonia Mała Księgowość
Symfonia Mała Księgowość 1 / 6 Symfonia Mała Księgowość Spis treści: Korzyści z zakupu nowej wersji 2 Symfonia Mała Księgowość w wersji 2011.1b 2 Nowe formularze deklaracji podatkowych 2 Eksport deklaracji
Walidacja danych w ASP.NET MVC
Walidacja danych w ASP.NET MVC 1. Prosta walidacja 2. Walidacja z Data Annotation public ActionResult Edit(Person person) bool blad = false; if(person.name.trim().length == 0) ViewData["Blad1"] = "Nazwisko
Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC
Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:
LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika
LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów
Dokumentacja użytkownika systemu
WARMIŃSKI BANK SPÓŁDZIELCZY Dokumentacja użytkownika systemu Miniaplikacja Doładowania Data aktualizacji dokumentu: 2018-10-23 1 Spis treści Rozdział 1. Wprowadzenie... 3 Rozdział 2. Widżet Doładowania...
UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa
UWAGA!!! Przed przystąpieniem do zamknięcia roku proszę zrobić kopie bezpieczeństwa Następnie należy sprawdzić czy w KOLFK w Słownik i-> Dokumenty-> znajduje się dokument BO- Bilans Otwarcia (w grupie
PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI
PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI 1. OPIS OKNA 3 2. OTWIERANIE OKNA 3 3. ZAWARTOŚĆ OKNA 4 3.1. WIDOK AKTYWNE ALERTY 4 3.2. WIDOK HISTORIA NOWO WYGENEROWANYCH ALERTÓW 4 3.3. DEFINIOWANIE
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Funkcje dodatkowe. Wersja 1.2.1
Funkcje dodatkowe SPIS TREŚCI 1.Wprowadzenie 1.1 Adresy URL do połączenia z aplikacją dla funkcji zarządzania kontem 1.2 Adresy URL do połączenia z aplikacją dla funkcji zarządzania polami nadawcy I. ZARZĄDZANIE
Program szkolenia: Symfony, nowoczesny framework PHP
Program szkolenia: Symfony, nowoczesny framework PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Symfony, nowoczesny framework PHP PHP-frameworki PHP developerzy 3 dni 40% wykłady
System imed24 Instrukcja Moduł Analizy i raporty
System imed24 Instrukcja Moduł Analizy i raporty Instrukcja obowiązująca do wersji 1.8.0 Spis treści 1. Moduł Analizy i Raporty... 3 1.1. Okno główne modułu Analizy i raporty... 3 1.1.1. Lista szablonów
Część II Wyświetlanie obrazów
Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer
Kadry Optivum, Płace Optivum
Kadry Optivum, Płace Optivum Jak seryjnie przygotować wykazy absencji pracowników? W celu przygotowania pism zawierających wykazy nieobecności pracowników skorzystamy z mechanizmu Nowe wydruki seryjne.
Instrukcja użytkownika BIP
Instrukcja użytkownika BIP Spis treści 1. Wstęp... 3 2. Główne elementy składowe portalu BIP... 3 3. Nawigacja... 6 4. Informacje o biuletynie... 6 4.1. Mapa serwisu... 6 4.2. Redakcja biuletynu... 7 4.3.
Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
PWI Instrukcja użytkownika
PWI Instrukcja użytkownika Spis treści 1. Wprowadzenie... 1 2. Przebieg przykładowego procesu... 1 3. Obsługa systemu... 5 a. Panel logowania... 5 b. Filtrowanie danych... 5 c. Pola obligatoryjne... 6
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Instrukcja portalu TuTej24.pl
Instrukcja portalu TuTej24.pl Spis treści 1. Strona główna... 2 2. Zaloguj się... 4 3. Rejestracja nowego konta... 5 4. Zmiana hasła... 7 5. Moje konto... 8 5.1 Lista ogłoszeń... 8 5.1.1 Aktywne...8 5.1.2
Instrukcja obsługi dla Wnioskodawcy
Internetowy System Wniosków Instrukcja obsługi dla Wnioskodawcy. Wstęp Instrukcja opisuje sposób działania panelu Wnioskodawcy będącego częścią Internetowego Systemu Wniosków. System dostępny jest pod
dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika
asix 4 Edytor Bazy Zmiennych Podręcznik użytkownika asix 4 dokumentacja Edytor Bazy Zmiennych ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście znaki firmowe
Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017
Systemy operacyjne Laboratorium 9 Perl wyrażenia regularne Jarosław Rudy Politechnika Wrocławska 28 lutego 2017 Temat obejmuje wykorzystanie wyrażeń regularnych w perlu. Wyrażenia same w sobie są w zasadzie
Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych
Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych Wersja 3.77.320 29.10.2014 r. Poniższa instrukcja ma zastosowanie, w przypadku gdy w menu System Konfiguracja Ustawienia
ELEKTRONICZNA KSIĄŻKA ZDARZEŃ
ELEKTRONICZNA KSIĄŻKA ZDARZEŃ Instrukcja obsługi 1. WSTĘP... 2 2. LOGOWANIE DO SYSTEMU... 2 3. STRONA GŁÓWNA... 3 4. EWIDENCJA RUCHU... 4 4.1. Dodanie osoby wchodzącej na teren obiektu... 4 4.2. Dodanie
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5
Konfiguracja parametrów pozycjonowania GPS 09.05.2008 1/5 Format złożonego polecenia konfigurującego system pozycjonowania GPS SPY-DOG SAT ProSafe-Flota -KGPS A a B b C c D d E e F f G g H h I i J j K
MS Word 2010. Długi dokument. Praca z długim dokumentem. Kinga Sorkowska 2011-12-30
MS Word 2010 Długi dokument Praca z długim dokumentem Kinga Sorkowska 2011-12-30 Dodawanie strony tytułowej 1 W programie Microsoft Word udostępniono wygodną galerię wstępnie zdefiniowanych stron tytułowych.
Atrybuty bloki z atrybutami, wyciągi atrybutów.
Atrybuty bloki z atrybutami, wyciągi atrybutów. Blokom można przyporządkować tzw. atrybuty, zawierające dane tekstowe. Atrybuty to pewne informacje związane z blokiem. Może to być np. nazwa elementu rysunkowego,
Umowy Instrukcja użytkownika systemu GW-MAX
2016 20132 Instrukcja użytkownika systemu GW-MAX Zakład Projektowania i Wdrażania Systemów Informatyki GIGA Sp. z o.o. ul. Kościuszki 229; 40-600 Katowice www.giga.katowice.pl giga@giga.katowice.pl Charakterystyka
1. INFORMACJE O DOKUMENCIE 2. WPROWADZENIE
1. INFORMACJE O DOKUMENCIE Niniejszy dokument jest dokumentacją użytkownika systemu bankowości elektronicznej CBP - ebank.bsszczytno.pl. 2. WPROWADZENIE zapewnia użytkownikowi możliwość wyświetlenia historii
Rozdział 5: Style tekstu
5. STYLE TEKSTU Posługując się edytorem MS Word trudno nie korzystać z możliwości jaką daje szybkie formatowanie z użyciem stylów. Stylem określa się zestaw parametrów formatowych, któremu nadano określoną
Podręcznik Integracji
Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze
Dodawanie operacji dodatkowych w WAPRO Mag.
Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa
CMS- kontakty (mapa)
CMS- kontakty (mapa) Rozpatrzy inny rodzaj kontaktu mapa sytuacyjna. W naszej kategorii kontaktów dodamy teraz multimedialną mapę dojazdową. W tym celu potrzebny nam będzie moduł HTML 1.0. Będziemy mogli
Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Przewodnik użytkownika (instrukcja) AutoMagicTest
Przewodnik użytkownika (instrukcja) AutoMagicTest 0.1.21.137 1. Wprowadzenie Aplikacja AutoMagicTest to aplikacja wspierająca testerów w testowaniu i kontrolowaniu jakości stron poprzez ich analizę. Aplikacja
Dokumentacja użytkownika systemu Miniaplikacja Urządzenie autoryzujące
Dokumentacja użytkownika systemu Miniaplikacja Urządzenie autoryzujące Wersja systemu: 2.05.000C Wersja dokumentu: 1 Data wydania dokumentu: 2018-05-30 Przeznaczenie dokumentu: poufny, zewnętrzny Identyfikator
Jako lokalizację, w której będzie kontynuowana praca w przyszłym roku szkolnym, warto wybrać tę, w której zgromadzonych jest więcej danych.
UONET+ Co zrobić, gdy w związku z reformą oświaty witryny UONET+ dwóch jednostek należy zastąpić jedną witryną UONET+? Reforma oświaty zakłada stopniowe wygaszanie gimnazjów. Od decyzji organu prowadzącego
Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?
UONET+ - moduł Sekretariat Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów? W module Sekretariat wydruki dostępne w widoku Wydruki/ Wydruki list można przygotować w formacie PDF oraz
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller
Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji
UMOWY INSTRUKCJA STANOWISKOWA
UMOWY INSTRUKCJA STANOWISKOWA Klawisze skrótów: F7 wywołanie zapytania (% - zastępuje wiele znaków _ - zastępuje jeden znak F8 wyszukanie według podanych kryteriów (system rozróżnia małe i wielkie litery)
Instrukcja obsługi Multiconverter 2.0
Instrukcja obsługi Multiconverter 2.0 Opis: Niniejsza instrukcja opisuje wymogi użytkowania aplikacji oraz zawiera informacje na temat jej obsługi. DHL Multiconverter powstał w celu ułatwienia oraz usprawnienia