Az útvonalak kezelése a Laravel keretrendszerben

Az útvonalakat a Laravel keretrendszerben nagyon egyszerűen, de mégis hatékonyan tudjuk megoldani.

Az útvonalak kezelése a Laravel keretrendszerben

Első találkozásom alkalmával ez volt az a pont ahol eldöntöttem, hogy jobban meg akarom ismerni a Laravel keretrendszerben rejlő lehetőségeket. Megfogott az, hogy mennyire könnyen és logikusan lehet vele az útvonalak kezelését megoldani. Ráadásul még sok hasznos funkciója is van, amivel összetettebb feladatokat is elvégezhetők az aktuális alkalmazás programozásakor. Az alábbiakban bemutatnám az útvonalak kezelése hogyan valósul meg a Laravel keretrendszerben, az egyszerűbb megoldásokon át a bonyolúltabbakig. Természetesen nem tudom az összes lehetőséget bemutatni, de igyekszem a leghasznosabb funkciókra kitérni.

Az útvonalak kezelése


A Laravel keretrendszerben az útvonalak az app/route.php fájlba tudjuk szerkeszteni. Elég ha itt kiadjuk a megfelelő parancsot és a rendszer már érzékeli is a változásokat. A lényeg az, hogy a route-ba beállítjuk az url értékét és megadjuk, hogy milyen feladatot lásson el. Például:


Ha beírjuk, hogy home a böngészőbe, akkor visszatér a jól ismert Hello word-del. Ez elég egyszerűnek hangzik, nem? Egyszerű alkalmazás esetén elég is. Csak ahogy egyre nő az alkalmazás mérete, úgy egyre nehezebb lesz kezelni és körülményes is.

Főbb útvonaltípusok


A Laravel keretrendszerben az útvonalak kezelése három típusból tevődik össze:

- GET típusú lekérések: Itt jó példa a fenn látható kódrészlet.

- POST típusú lekérések: Ezt elsősorban formok esetében fogjuk használni. Megadjuk az url-t, ahová küldjük az adatokat és utána beállítjuk, hogy hogyan szeretnénk feldolgozni.

A fenti példa elég egyszerű. A newsletter url-re irányítottam a formból jövő adatokat, amiket a FrontendController nevű Controller newsletter függvénye dolgoz fel.


- BÁRMELY más típusú lekérések. Ezt például használhatjuk képek feltöltésére is. Gyakorlatilag ha szeretnénk, hogy az útvonalak válaszoljanak minden hívásra, akkor ezt kell használnunk.

Az alábbi példában a formon feltöltöttem egy képet és amikor el akarom menteni, akkor az any típust használtam.


Paraméterek használata


Hacsak az alkalmazás nem túl egyszerű, akkor bizonyos ponton szükségünk lesz arra, hogy paramétereket tudjunk megadni. Például users/1 vagy users/12, esetleg ha blogot vezetünk, akkor blog/post/1 vagy egyéb esetek. Ezek a paraméterek fontosak, mert ezekkel tudjuk az adatbázisban elérhető rekordokat kezelni.

A paramétereket egy kapcsos zárójelbe kell megadni:

Ha viszont így adjuk meg, akkor a keretrendszerben kötelezően meg kell adnunk a paramétert. Tehát ha nem kap értéket, akkor hibára fog futni. Ha ezt el szeretnénk kerülni, akkor adjuk hozzá az útvonal értékéhez egy kérdőjelet és a function részt is egészítsük ki.


De mi van, akkor, ha például a felhasználók adatait akarjuk lekérni id alapján, ami csak szám értéket vehet fel. Tehát szeretnénk lekorlátozni az elfogadható paramétereket.

Ebben a példában, az id értéke csak 0 vagy annál nagyobb szám. Ha kipróbáljuk betűvel, akkor hibára fog futni.


Egyértelműen azonosítható útvonalak


Nagyobb alkalmazás esetén gyakran szembesülhetünk azzal a problémával, hogy az azonos útvonalak többször szerepelnek. Például admin felület bejelentkezési link: amikor beírja valaki, hogy login és még nincs bejelentkezve vagy amikor kilép a felhasználó és visszadobjuk a bejelentkezésre. De mi van akkor ha ez a cím megváltozik. Hát akkor bizony az összes helyen meg kell változtatni. Ez problémás és körülményes is. Jó lenne, ha ezek kezelése együtt történne. Itt jönnek képbe az útvonalak elnevezése.

Megadtam a bejelentkező link nevét és amikor szükségem van rá legközelebb, akkor csak lekérem:

Ez praktikus megoldás. Sokszor fogjuk majd dicsérni alkalmazás írása közben a Laravel keretrendszert, ezért a funkcióért.


Csoportosítható útvonalak


És elértünk a nagy kedvenchez. A Laravelben lehetőség van arra, hogy lerövíditsük a sok útvonal parancsot. Ezzel az útvonalak kezelése még egyszerűbb lesz. Ha sok url esetén szerepel ugyanaz az előtag, akkor azt a következőképpen tudjuk egyszerűsíteni:

Ezzel nemcsak lerövidíthetjük a kódot, hanem sokkal átláthatóbbá is tehetjük az alkalmazás fejlesztését.


Az útvonalak és a szürők


Felmerülhet bennünk a kérdés, hogyha meg tudjuk oldani, hogy útvonalak a keretrendszerben csoportokban legyenek, akkor lehet-e ezekre a csoportra különböző műveleteket, szürőket alkalmazni. A válasz az, hogy lehet.

Itt az látható, hogy a teljes admin útvonal csoportra egy hitelesítő szürőt tettem. Így nem kell az ellenőrzést több helyen elvégezni. A rendszer érzékeli, hogy az url-be benne van az admin, akkor legelőször (before) a hitelesítést végzi el.


Az útvonalak és a vezérlők


Ha a keretrendszerben az alkalmazás nem túl kicsi, akkor az útvonalak kezelése legtöbbször vezérlők használatából fog állni. Megadjuk az címet, amit a megadott vezérlő fog feldolgozni. Nézzük az alábbi példát:

Az ehhez tartozó vezérlő a következő:

Természetesen itt is használhatjuk a fent említett szürőket és elnevezéseket.


Összegzés


Az útvonalak kezelése a Laravel keretrendszerben egyszerű. Segítségével az alkalmazás fejlesztésében hihetetlenül gyorsan tudunk haladni, ráadásul még áttekinthető is marad a kódunk. A magam részéről úgy gondolom, hogy az útvonalak kezelése az egyik legfontosabb eleme egy alkalmazás programozásának. Ahhoz, hogy jól áttekinthető kódot kapjunk, amit ha később elő is kell vennünk, akkor is el tudjunk vele boldogulni, mindeképpen jól felépített útvonalak kellenek. A Laravel ezt biztosítja nekünk.


Ha még többet szeretne megtudni az útvonal kezelése témakörről, akkor látogassa meg a hivatalos oldalt, ahol további lehetőségekről lehet olvasni.




Kérem értékelje a cikket! (1-től 5-ig)

Jelenleg: 5 / 5 (5 szavazat)

Köszönöm a szavazatod.
Már értékelte ezt a cikket.

Nincs hozzászólás a(z) Az útvonalak kezelése a Laravel keretrendszerben bejegyzéshez
Szóljon hozzá, reagáljon Ön is
Köszönöm a hozzászólását. Jóváhagyás után megjelenik majd az oldalon.
Név mező kitöltése kötelező

Üzenet mező kitöltése kötelező