PowerPoint Presentation

Слични документи
PowerPoint Presentation

Microsoft PowerPoint - 6. Query Builder.pptx

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

12.WT-javaScript-Drupal

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft Word - 1.Operacije i zakoni operacija

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

CPHP_19

Microsoft Word - Ispitivanje toka i grafik funkcije V deo

SELECT statement basic form

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Visoka škola strukovnih studija za informacione i komunikacione tehnologije Ispisivanje u dokumentu JavaScript, po oću DOM objekta document, ože da is

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Funkcije predavač: Nadežda Jakšić

Inženjering informacionih sistema

Приручник о полагању матурског испита у образовном профилу Електротехничар информационих технологија - оглед ВЕБ ДИЗАЈН У следећим задацима заокружите

Introduction to Programming

Microsoft Word - CAD sistemi

Računarski praktikum I - Vježbe 09 - this, static

Microsoft PowerPoint - 1. Zend_1 - Instalacija frameworka

Microsoft Word - ASIMPTOTE FUNKCIJA.doc

Projektna dokumentacija Boostowski - mobile

KATALOG ZNANJA IZ INFORMATIKE

Introduction to Programming

Slide 1

PHP kod

COMARC/A Format

Tutoring System for Distance Learning of Java Programming Language

P1.1 Analiza efikasnosti algoritama 1

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

Slide 1

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Projekti šabloni

Model podataka

PowerPoint Presentation

PRIRODNO MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA RAČUNARSKE NAUKE Utorak, godine PRIJEMNI ISPIT IZ INFORMATIKE 1. Koja od navedenih ekste

4 dan - DWeb

VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs)

На основу члана 34. став 4, члана 39. став 7. и члана 118. став 7. Закона о високом образовању (''Сл. гласник РС'' бр. 88/2017, 27/ др. закон и

Microsoft Word - Uputa_WEB_pristup_predmetima_ ver1.doc

NAPOMENA: Studenti na ispit donose kod urađenog zadatka

Dijagrami sekvenci

Microsoft Word - 11 Pokazivaci

3.Kontrlne (upravlja~ke) strukture u Javi

UVJETI KORIŠTENJA INTERNETSKE STRANICE Korisnik posjetom web stranicama potvrđuje da je pročitao i da u cijelosti prihvaća o

UNAPREĐENJE ENERGETSKE EFIKASNOSTI GRADSKOG SISTEMA ZA UPRAVLJANJE ČVRSTIM OTPADOM

Microsoft Word - Lekcija 11.doc

PowerPoint Presentation

Tutoring System for Distance Learning of Java Programming Language

Писање и превођење модула

Upute za instaliranje WordPressa 1.KORAK Da biste instalirali Wordpress, najprije morate preuzeti najnoviju verziju programa s web stranice WordPressa

IEP - Projekat 2018/2019

R u z v e l t o v a 5 5, B e o g r a d, t e l : ( ) , m a i l : c o n t a c p s i t. r s, w w w. p s i t. r s

PRIRODNO-MATEMATIČKI FAKULTET U NIŠU DEPARTMAN ZA MATEMATIKU I INFORMATIKU ZADACI SA REŠENJIMA SA PRIJEMNOG ISPITA IZ MATEMATIKE, JUN Odrediti

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Microsoft Word - NULE FUNKCIJE I ZNAK FUNKCIJE.doc

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvrsnog_Programa [Compatibility Mode]

DIGITALNA OBRADA SLIKE

Универзитет у Београду Економски факултет Катедра за економску политику и развој Јавне финансије 2018/19 УПУТСТВО ЗА ПРИЈАВЉИВАЊЕ НА Е-КУРС ИЗ ПРЕДМЕТ

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om -

(Microsoft PowerPoint - Uvod u ra\350unarstvo i informacione tehnologije)

ЕКОНОМСКИ ФАКУЛТЕТ УНИВЕРЗИТЕТА У ПРИШТИНИ КОСОВСКА МИТРОВИЦА

UNIVERZITET U NOVOM SADU TEHNIČKI FAKULTET MIHAJLO PUPIN ZRENJANIN TEHNOLOGIJE DISTRIBUIRANIH INFORMACIONIH SISTEMA - Skripta za teorijski deo (RADNA

Funkcije predavač: Nadežda Jakšić

Elementi praćenja i ocjenjivanja za nastavni predmet Matematika u 4. razredu Elementi praćenja i ocjenjivanja za nastavni predmet Matematika u 4. razr

PowerPoint Presentation

Пословник о квалитету

Principi softverskog inženjerstva O predmetu

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

СТАРТ - СТОП ПАРКИНГ СИСТЕМ КОРИСНИЧКО УПУТСТВО страна 1 од 12

Pismo Uskoku

12 Stanje

1, 2, 3, кодирај! Активности циклуса 4 Пројект «Аркадне игре» - Час 6: Програмирање падања новчића (наставак) Доминантна дисциплина Математикa Резиме

ggmap

Microsoft Word - MySQL_3.doc

Broj: 01-12/2014 Datum: Direktor preduzeća Phoneco doo, Marko Burgić dipl. Oecc., objavljuje OPŠTE USLOVE USTUPANJA PRAVA NA KORIŠĆENJE POS

Upravljanje kvalitetom Osnove za izradu projektnog zadatka

DIGITALNA OBRADA SLIKE

Microsoft Word - ASIMPTOTE FUNKCIJE.doc

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ У ОСНОВНОМ ОБРА

Microsoft Word - Postupak za upravljanje korektivnim merama.doc

Програмирај!

LAB PRAKTIKUM OR1 _ETR_

Slide 1

(Microsoft Word - ZAKLJUCAK O USVAJANJU AKCIONOG PLANA ZA SPROVO\320ENJE STRATEGIJE ZA STALNO UNAPRE\320ENJE KVALITETA ZDRAVSTVENE ZA\212)

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

KREIRANJE TORRENTA Ako zelite da kreirate torrent fajl od nekog fajla ili foldera u vasem racunaru a kasnije podeliti sa drugim korisnicima i uploadov

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

Microsoft Word - IZVODI ZADACI _2.deo_

Microsoft Word - Pravilnik o reklamaciji Sport Vision.doc

(Microsoft Word - Rje\232enja zadataka)

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Општи подаци Извештај о резултатима завршног испита на крају основног образовања и васпитања у школској 2017/2018. години Назив школе Место Општина Ра

Biz web hosting

POSLOVNA INTELIGENCIJA I ANALITIKA ZA PRAVE POSLOVNE ODLUKE

Univerzitet u Beogradu Matematički Fakultet Informacioni sistemi Grupni sudentski rad Informacioni sistem ugostiteljskog objekta Mentori: Dr. Saša Mal

Microsoft Word JEDINICE ZA MERENJE-formulice

06.ЈУЛ 2016 СЛУЖБЕНИ ЛИСТ општине Књажевац ГОДИНА X БРОЈ МАРТ 2017 БЕСПЛАТАН ПРИМЕРАК 1 На основу члана 81. Закона о буџетском систему ("Сл. гла

Транскрипт:

Visoka škola strukovnih studija za informacione i komunikacione tehnologije Grupisanje ruta i patterni Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž

MVC.htaccess index.php Routing System Controller Model View

Rute Podsetimo se ukratko šta su rute i koja je njihova uloga u MVC arhitekuri. Da bi se pristupilo kontroleru i njegovom metodu, koji vraća neki rezultat koji krajnji korisnik vidi, neophodno je obezbediti rutu preko koje će mu se pristupiti. Rute se definišu u folderu routes/web.php

Rute Kako se kreira ruta? Route::get('/primer','PrimerController@index'); Način pristupa ruti get/post Naziv kontrolera Naziv rute kojoj će se pristupati: http://localhost/projekat/primer Naziv metode iz kontrolera koja se poziva pri gadjaju rute u URL

Rute Takođe, naučili smo i kako se prosleđuju parametri ka ruti: Route::get('/primer/{id}','PrimerController@index'); Parametar koji se prosleđuje kroz URL <?php namespace App\Http\Controllers; class PrimerController { Parametar iz URL se prihvata kao argument metoda. Argument mora imati isti naziv kao prosleđeni parametar - id } public function index($id){ // telo metoda }

Definisanje pattern-a

Definisanje pattern-a Recimo da postoji sledeća ruta: Route::get('/primer/{id}','PrimerController@index'); <?php namespace App\Http\Controllers; class PrimerController { } public function index($id){ echo $id; }

Definisanje pattern-a Sada ćemo prosleđivati različite parametre kroz URL adresu i videti rezultat.

Definisanje pattern-a Šta zaključujemo? Mi smo kreirali rutu kojoj očekujemo da se prosledi id. ID mora biti broj, što znači da moramo obezbediti da se ruti mogu proslediti samo brojevi. Postavlja se pitanje: Kako možemo definisati šta se tačno može upisati u URL adresi? Regularni izrazi!

Definisanje pattern-a U okviru metode where() se definišu pattern-i kojima se proverava vrednost prosleđenog parametra. Ukoliko vrednost prosleđenog parametra nije u skladu sa regularnim izrazom, ruta će odbaciti zahtev. Route::get('/primer/{id}','PrimerController@index')->where(['id' => '[0-9]+']); Naziv parametra Regularni izraz

Definisanje pattern-a Metoda where() očekuje asocijativni niz kao argument, pri čemu je ključ asocijativnog niza naziv parametra iz rute, a vrednost je regularni izraz. Na mestu regularnog izraza možete pisati bilo koji pattern i u skladu sa njim će biti proveren parametar koji se prosleđuje.

Primer Recimo da postoji sledeća ruta: Route::get('/primer/{id}','PrimerController@index')->where(['id' => '[0-9]+']); <?php namespace App\Http\Controllers; class PrimerController { } public function index($id){ echo $id; }

Primer Sada ćemo prosleđivati različite parametre kroz URL adresu i videti rezultat.

Patterni Recimo da imamo sledeće rute: Route::get('/korisnici/{id}', KorisniciController@index') ->where(['id' => '[0-9]+']); Route::get('/uloge/{id}', UlogeController@index') ->where(['id' => '[0-9]+']); Route::get('/predmeti/{id}','PredmetiController@index')- >where(['id' => '[0-9]+']);

Patterni Primećujemo da je metoda where() za proveru parametra id kod sve tri rute ista. Javlja se potreba da se kod optimizuje. Ovaj problem se rešava definisanjem globalnog pattern-a: Route::pattern('id', '[0-9]+'); Naziv parametra za koji se poziva provera Regularni izraz

Patterni Route::pattern('id', '[0-9]+'); Route::get('/korisnici/{id}', KorisniciController@index'); Route::get('/uloge/{id}', UlogeController@index'); Route::get('/predmeti/{id}','PredmetiController@index');

Grupisanje ruta

Grupisanje ruta Na prethodnim slajdovima smo videli da se može desiti da se za više ruta primenjuje provera istim regularnim izrazom. Ovaj problem smo rešili uvođenjem globalnog regularnog izraza. Isto tako, može se desiti potreba da nad više ruta primenimo isti Middleware ili da više ruta ima isti prefiks. Tada se javlja potreba za uvođenjem grupe ruta.

Grupisanje ruta Kreiranje grupe ruta se vrši pomoću statičke metode group() koja je definisana u klasi Route. Naziv atributa koji se primenjuje nad celom grupom Jedna ili više vrednosti atributa Route::group(['atribut' => 'vrednost' ], function(){ // rute u okviru grupe });

Primer Primer grupisanja ruta: Nije definisan nijedan atribut Route::group([ ], function() { Route::get('/korisnici', KorisniciController@index'); Route::get('/korisnici/{id}', KorisniciController@prikazJednog'); Route::post('/korisnici/izmeni/{id}', KorisniciController@izmeni'); }); http://localhost/projekat/korisnici http://localhost/projekat/korisnici/1 http://localhost/projekat/korisnici/izmeni/5

Grupisanje ruta U prethodnom primeru, primećujemo da sve rute u okviru grupe počinju sa /korisnici. Ovo se može definisati kao prefiks grupe. Naziv grupe, tj. prefiks se definiše kao prvi argument metode group(). Route::group( ['prefix' => 'naziv'], function(){ // rute u okviru grupe });

Primer Primer grupisanja ruta: Route::group(['prefix' => '/korisnici' ], function() { }); Route::get('/', KorisniciController@index'); Route::get('/{id}', KorisniciController@prikazJednog'); Route::post('/izmeni/{id}', KorisniciController@izmeni'); http://localhost/projekat/korisnici http://localhost/projekat/korisnici/1 http://localhost/projekat/korisnici/izmeni/5

Grupisanje ruta Čest je slučaj da se nad više ruta primenjuje isti Middleware, radi zaštite od neovlašćenog pristupa. Nad grupom ruta se može primeniti isti Middleware na sledeći način: Route::group(['middleware' => ['naziv_middleware']], function(){ // rute u okviru grupe });

Primer Primer sa middleware: Route::group(['middleware' => 'auth'], function() { }); Route::get('/korisnici', KorisniciController@index'); Route::get('/korisnici/{id}', KorisniciController@prikazJednog'); Route::post('/korisnici/izmeni/{id}', KorisniciController@izmeni');

Primer Primer sa primenom više middleware-a: Route::group( [ 'middleware' => ['auth', 'role'] ], function() { }); Route::get('/korisnici', KorisniciController@index'); Route::get('/korisnici/{id}', KorisniciController@prikazJednog'); Route::post('/korisnici/izmeni/{id}', KorisniciController@izmeni');

Visoka škola strukovnih studija za informacione i komunikacione tehnologije Grupisanje ruta i patterni Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž