My I/O

インプットしたことをアウトプットするブログ

Laravel5.5ルーティング

Laravel勉強中です。ルーティングの覚書。

ルーティング記述場所

ルーティングは、

プロジェクト名\routes\web.php

に記述し、

$ php artisan route:list

でルーティングを一覧で確認できる。

ルーティング記述

// Indexコントローラーのshow()にルーティング
Route::get('/', 'Index@show');

// 301リダイレクトしたいとき
Route::redirect('/oldpage', '/newpage', 301);

// {huga}は任意の値
Route::get('/hoge/{huga}', 'Hoge@show');

// {huga}の値を正規表現でバリデーション
Route::get('/hoge/{huga}', 'Hoge@show')
    ->where(['huga' => '[a-z]+');

// GET,POSTもGetAndPostコントローラで対応
Route::match(['get', 'post'],'/getpostcameon', 'GetAndPost');

コントローラ名に@メソッド名と記述しない場合は、 __invoke()が呼ばれ、これはシングルアクションコントローラということになる。