Napokon je došao utorak i red na novi blog post u kojem ćemo krenuti raditi sa Laravelom.
Najlakši način da skontate kako Laravel funkcionira je da u svakom blog postu posebno objasnimo na koji način funkcionira svaki pojedinačni dio Laravela, pa ćemo vam u ovoj temi objasniti routes tj. rute.
Idemo krenuti iz početka.
U prijašnjem blog postu smo vam pokazali kako instalirati Laravel koji ćete vi kasnije koristiti za izradu web stranica, pa se sad idemo baciti na posao.
Instaliranje Laravela
- Otvorite konzolu / terminal
- Nađite vaš glavni folder od servera
- Kucajte (kopiraj) kod od prije, kod koji smo vam pokazali za instaliranje Laravela, ali ne stiskati enter.
- Umjesto zadnje riječi ‘blog’ stavite naziv našeg projekta “albumos”
- Stisni Enter 🙂 i woula – imamo spreman Laravel za raditi. Evo i kako kod ispod treba izgledati – naredba za instalaciju Laravela.
composer create-project --prefer-dist laravel/laravel albumos
Podešavanje Laravela
U našem folderu albumos ćete uočiti datoteku .env, kad je skontate otvorite je.
Tu ćemo napraviti prve promjene u postavkama.
- Idemo uredit naziv naše web stranice. To ćemo napraviti u prvom redu koda gdje piše
APP_NAME=Laravel
- Umjesto Laravela stavite pod navodnike “Albumos” jer smo tako odlučili zvati našu web stranicu. Navodnike koristimo u slučaju da budemo imali više riječi i znakova pa da ne bi zablesao kod.
- Kada smo to napravili red je došao da povežemo web stranicu sa bazom podataka, a to ćete učiniti zamjenom ovih polja sa podacima baze podataka
DB_DATABASE=homestead
DB_USERNAME=homestead
iDB_PASSWORD=secret
- DB_DATABASE je ime vaše baze, mi smo svoju nazvali Albumos, DB_USERNAME i DB_PASSWORD – tu stavljate podatke za spajanje na vašu bazu.
- Snimite promjene i to bi za početak bilo to što se tiče postavki u .env fajlu.
U config folderu ima dosta fajlova za podešavanje Laravel-a, ali za početak vam je bitan app.php
Trenutno ga nećemo editirati u ovom blog postu, a ono što ovdje podešavate uz ostale stvari je vremenska zona i locale gdje podešavamo koji će biti primaran jezik web stranice.
Što se tiče tog prvog mini podešavanja, to je uglavnom to. Ako smo nešto zaboravili dodat ćemo kasnije 🙂
Idemo dalje na rute tj. na engleskom routes.
Kreiranje naših prvih linkova u rutama
Napokon krećemo nešto zanimljivije raditi. Kreirat ćemo naše prve linkove na web stranici pa idemo redom:
- Otvorite folder routes koji se nalazi u našem glavnom folderu. Tu ćete vidjeti 4 datoteke – nama je najbitnija za početak web.php datoteka pa ju otvorite. ( Tu ćete kreirati sve vaše linkove za web stranicu)
- Kada ste otvorili web.php unutar njega ćete naći kod sličan ovome:
Route::get('/', function () { return view('welcome'); });
Ovako izgleda trenutna i jedina ruta na vašoj web stranici, a kako funkcionira detaljnije ćemo objasnit dolje u postu.
- U vaš browser ukucajte link localhost/albumos/public/
- Kada ste ukucali gore link Laravel će pregledati vaš web.php fajl koji vam je trenutno otvoren i traži jeste li definirali linkove. Tu je trenutno definiran jedini link i to je glavni link vaše stranice. Objasnit ćemo dolje šta i kako funkcionira u njemu.
- Sada ćemo kreirati drugi link da vidite kako to funkcionira. Ukucajte ispod gore prikazanog koda novi kod
Route::get('/albumi', function () { return "Svi albumi"; });
Ako sada kucate localhost/albumos/public/albumi u vaš browser dobit će te praznu stranicu gdje piše Svi Albumi i to je vaša druga stranica koju ste kreirali. Zapravo je bilo jako lagano.
- Šta smo napravili u gornjem kodu? Dodali smo naziv našeg linka “albumi” poslije kose crte. Tu zapravo dodajemo nazive naših linkova tj. kako ih želimo definirati.
- Unutar vitičaste zagrade nalazi se kod koji se pokreće, a u našem slučaju smo samo “vratitli” tekst “Svi albumi”, no ako pogledate gore vidjeti ćete u prvom linku da smo vratili funkciju view (‘welcome’). Što se tu događa? Navedena funkcija zapravo poziva izgled. (Vaš html, ili glavni izgled)
- Izgled welcome se nalazi u: resource -> views -> welcome.blade.php.
- Ono što smo naučili je da se unutar vitičastih zagrada pokreće neki kod ili se poziva druga funkcija koja u ovom prvom primjeru vraća HTML koji se nalazi u welcome.blade.php i to sa helperom view(‘welcome’)
Kreiranje Izgleda
- Sljedeći nam je korak da kreiramo izgled za albume.
- Isto tamo gdje se nalazi welcome.blade.php fajl, stvorite novi fajl i nazovite ga albumi.blade.php
- Unutar albumi.blade.php dodajte kod:
<h1>Lista novih albuma</h1>
- Sada se vratite u web.php rute i u rutu gdje smo stavili link /albumi umjesto return “Svi albumi” stavite / return view(‘albumi’);
- sada će navedena helper komanda pozvati naš izgled “albumi.blade.php” kojeg smo kreirali maloprije. (Testirajte slobodno i tu se igrajte sa HTML-om i tekstom, i gledajte rezultate)
Idemo sada ponoviti korak za Autore.
- Dodat ćete novi fajl u resource -> views koji će se zvati autori.blade.php. Unutar njega kao i u prošlom primjeru stavite H1 tag i unutar njega “Lista novih autora”
- Sada ćete sami napraviti novi link u web.php koji će se zvati “/autori” i unutar funkcije tj. vitičaste zagrade pozvat ćete taj izgled pomoću view helper-a.
Kada otvorite browser i kucate localhost/albumos/public/albumi prikazat će vam se vaša prva stranica koju ste sami kreirali i podesili link a u njoj će pisati “Lista novih albuma”.
Ako kucate localhost/albumos/public/autori dobit ćete vašu drugu stranicu koju ste kreirali sa Laravelom i pisat će vam “Lista novih autora”.
Zaključno
Nadamo se da smo vam uspjeli malo dočarati kako funkcioniraju rute, koja je njihova funkcija i kako pomoću njih pozvati i prikazati vaš html.
U sljedećem blog postu ćemo vam pokazati kontrolere tj controllers, koja je njihova funkcija i kako ih povezati sa rutama.
Nadamo se da je ovaj tutorial bio jednostavan i da ste uspjeli sve pohvatati. Naravno, ovo je tek mali dio onoga što nude rute no, kako budemo pisali nove blog postove tako ćemo vam otkrivati njihove mogućnosti.
P.S.
Sigurno imate najmanje 2 pitanja. Prvo je:
1. Zašto moram kucati u linku još ‘public’ riječ?
- Radi bolje sigurnosti web stranice Laravel drži “gotove” stvari u public folderu, te tako čini ostale foldere nedostupne za korisnike.
- Da bi maknuli ‘public’ iz vašeg linka ima jedno lako rješenje pomoću .htaccessa.
- U glavnom folderu naše web stranice kreirajte (ako nema) .htaccess file i unutar njega postavite sljedeći kod:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ fastfood/public/$1 [L] </IfModule>
Navedeni kod će preusmjeriti vašu web stranicu u public folder te tako nećete morati kucati više u link /public
2. Zašto kada kreiram file za izgled moram kucati ‘blade’ u nazivu fajla?
- Laravel koristi “Blade” sustav za lakše kreiranje i upravljanje “izgledima” web stranice (fajlovi gdje će biti spremljen vaš izgled stranice u html).
- Bitno je da svaki fajl kojeg koristite za izgled sadržava blade u nazivu kao u gore primjerima kako bi ga Laravel mogao prepoznati prilikom pozivanja view() helpera.
To bi bilo to za ovaj post. Ako ste zapeli gdje, ne kontate što smo mi sad tu pisali ili nešto treće, pišite nam u komentar, javite se na društvenim mrežama i svakako nas lajkajte tamo 😉
U sljedećem blog postu, trećem po redu, pišemo o Controllerima.