kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

Laravelのルートパラメーターのフォーマット指定を簡略化

自分用メモ Laravel5.2で確認しました。

Laravelのルートパラメーター

下記の {id} の部分のことです。
ルートパラメーターというらしいです。

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

フォーマットの指定の簡略化

whereメソッドを指定することで、
ルートパラメーターのフォーマットを指定することができます。

ただ、{id} などよく使うものは、何回も書きたくないって時には、 RouteServiceProviderbootメソッドに記述することで、
whereを使用することもなく、指定できます。 routes.phpが肥大化するのを防ぐ意味もあります。

public function boot(Router $router)
{
    $router->pattern('id', '[0-9]+');

    parent::boot($router);
}

参考

https://laravel.com/docs/5.2/routing