Могу ли я иметь переменное количество параметров URI или пар ключ-значение в Laravel 4?
У меня есть корзина, в которой я хотел бы передавать переменное количество необязательных параметров. Такие вещи, как: сортировка, фильтрация, включение / исключение и т. Д. Таким образом, URL может быть:
/products
/products/sort/alphabetically
/products/filter/cloths
/products/socks/true
/products/sort/alphabetically/socks/true/hats/false/
И т.п.
Я предполагаю, что мог бы иметь маршрут с заполнителями для всех возможных параметров и установить значения по умолчанию в 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.