ugrás a tartalomhoz

Laravel 5 routing

csabessz47 · 2017. Szep. 5. (K), 20.50
Sziasztok,

Laravel 5-ben nem jöttem még rá egy routinggal kapcsolatos probléma megoldására, minden segítség jól jönne.

A route fájlok kisebb fájlokra van bontva, minden "csomaghoz" tartozik egy.
Egy /budapest url estén
  1. Route::get('{url}', .....)  
szeretnék olyat, hogy
- először megnézi pl a videók route fájljában, hogy tud-e visszaadni valamit (mondjuk ahol a videó nevében benne van a "budapest")
- ha nincs semmi, akkor megy tovább a képek route fájljába, hogy van-e budapest nevű kép,
- ha nincs, akkor nézi a települések "csomaghoz" tartozó route fájlban, hogy van-e budapest nevű település.

Az url szerkezeten nem tudok változtatni, tehát nem lehet (/kepek/budapest, /videok/budapest).

Ha esetleg egy nagy route fájl lenne, ez pedig a legvégén, akkor is kéne egy nagy callbackbe gányolás...
  1. Route::get('{url}'function($url, ImageRepository $imageRepository, VideoRepository $videoRepository, SettlementRepository $settlementRepository) {  
  2.     // van kép?  
  3.     $imageRepository->findByUrl($url);  
  4.       
  5.     // ha nincs kép  
  6.     $videoRepository->findByUrl($url);  
  7.       
  8.     // ha nincs videó  
  9.     $settlementRepository->findByUrl($url);  
  10. });  
Route fájlokba belegányolni amúgy sem szeretek ilyet, több controllert hívogatni meg fura lenne :)

Vagy esetleg a route-ba adott callback-ben egy exceptiont dobni (vagy return null :), ami után a route listából jönne a következő, így maradhatna szétbontogatva...

Került már valaki ilyen helyzetbe?
Tudtok erre egy -lehetőleg- szép megoldást?

Köszi előre is
 
1

Közben megoldódott a

csabessz47 · 2017. Szep. 6. (Sze), 13.00
Közben megoldódott a probléma,
kiderült, hogy élnek olyan url-ek is, hogy budapest/kepek és társai.
Szóval szerencsére nem kell megalkotnom ezt a káoszt.