$uri = '';
/*
Сгенерируем uri на основе количества параметров, допустим был запрос в БД или еще как хранится у тебя
*/
for ($i=0; $i < $searchableCount; $i++) {
# code...
$uri = $uri . '{arg' . $i . '?}/';
}
Route::get($uri , function (...$params) {
foreach ($params as $key => $value) {
echo $value . "<br>";
/*
На самом деле здесь ты должен каждый параметр проверять на то чем он является, для некоторых ты сразу можешь отсечь их зная допустим что оно всегда число, для других таки придется делать запрос в БД и проверять находится он или нет и если не находится, то проверять уже для другой модели(значит не метра, а пол например) и тп.
В идеале ты должен придумать для каждого какой=-то патерн по которому без обращения в БД будешь узнавать что за параметр, допустим префиксы : sex_m
*/
}
});
'/catalog/{category_name?}/{tip_vyezda?}/{sex?}/'
github нужная фича
- это для библиотек, каких-то больших штук обычно. github gist нужная фича
- это для снипетов, коротких полезных кусков кода, короче для всякой мелочевки. var elementClick = this.hash;
// Выбираем все ссылки с хэшем
$('a[href*="#"]')
/* Убираем ненужные, либо те которые нужны для других целей, например для галерей, так что сюда можешь добавить список хешей на который плавный скролл не будет реагировать */
.not('[href="#"]')
.not('[href="#0"]')
.click(function(event) {
// Проверяем что все хеши на том домене
if (
location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
&&
location.hostname == this.hostname
) {
// Находим цель
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
// Существует ли целевой элемент?
if (target.length) {
// Блокируем поведение по умлочанию, только в случае если анимация на понадобилась
event.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top
}, 1000, function() {
// Callback after animation
// Меняем фокус (бывает полезно, обычно не мешает)
var $target = $(target);
$target.focus();
if ($target.is(":focus")) { // Получил ли целевой элемент фокус
return false;
} else {
$target.attr('tabindex','-1');
$target.focus();
};
});
}
}
});
.map(Function.prototype.call, String.prototype.trim);
все же нет дополнительного усложнения со скобочками, функциями и тд, так что либо так, либо если хочется анонимной функции, то лучше уж ES6 вариант map(str => str.trim())
, но он конечно же тоже будет кидать ошибку на не строках.