У меня есть корзина для покупок, в которой я хотел бы передать переменное количество дополнительных параметров. Такие вещи, как: сортировка по, фильтровать, включение/исключение и т.д. Таким образом, URL может быть:Могу ли я иметь переменное количество параметров URI или пары ключ-значение в Laravel 4?
/products
/products/sort/alphabetically
/products/filter/cloths
/products/socks/true
/products/sort/alphabetically/socks/true/hats/false/
Etc.
Я полагаю, я мог бы маршрут с заполнителями для всех возможных параметров и установить значения по умолчанию в URL, так что-то вроде:
Route::get('products/sort/{$sort?}/filter/{$filter?}/socks/{$socks?}/hats/{$hats?}/...', function($sort = 'alphabetically', $filter = false, $socks = true, $hats = true, ...)
{
...
});
Тогда, например, чтобы просто исключить шляпы я должен был бы иметь URL следующим образом:
/products/sort/alphabetically/filter/false/socks/true/hats/false
Но это кажется действительно ... неэлегантным. Есть ли хороший способ сделать это? Я полагаю, что я мог бы также попытаться написать правило перезаписи сервера, чтобы учесть это, но мне не нравится идея обхода Laravel.
Да, это то, что я закончил делать. Спасибо за такой тщательный ответ, хотя! – Beau