Добавление к маршруту обязательного параметра id:
Добавление к маршруту обязательного параметра id. Листинг 2.1 |
Route::get('user/{id}', function ($id) { return 'User '.$id; }); |
Добавление к маршруту необязательного параметра name.
Добавление к маршруту необязательного параметра name. Листинг 2.2 |
Route::get('user/{name?}', function ($name = null) { return $name; }); |
Вместо $name = null можно использовать любое значение по умолчанию.
Добавление к маршруту необязательного параметра name. Листинг 2.3 |
Route::get('user/{name?}', function ($name =’Jhon’) { return $name; }); |
Использование регулярных выражений в маршрутах.
Маршруты с соответствием пути регулярному выражению. Листинг 2.4 |
Route::get('user/{name}', function ($name) { })->where('name', '[A-Za-z]+'); Route::get('user/{id}', function ($id) { })->where('id', '[0-9]+'); |
Вместо последовательного вызова метода where, можно передать массив ограничений.
Использование массива в регулярных вырражениях. Листинг 2.5 |
Route::get('user/{id}/{name}', function ($name) { })->where(['name'=>'[A-Za-z]+', ‘id’=>'[0-9]+']);
|
Если какие-то регулярные выражения нужно связать со всеми параметрами, то можно использовать метод pattern:
Использование шаблона регулярного выражения. Листинг 2.6 |
public function boot(Router $router) { $router->pattern('id', '[0-9]+');
parent::boot($router); } |
Таким образом, будет осуществляться проверка всех параметров с именем id.