Laravelで特定のプレフィックスがついたURLをまとめて定義したい時はRoute::prefix() を使います。
ルートプレフィックス
例えば以下のような、共通の「app」というプレフィックスを複数の以下のルーティングを定義するとします。
- http://hoge.com/app
- http://hoge.com/app/show
「app」というプレフィックスをまとめてルーティングを定義するには、routes/web.php に以下のように書きます。
Route::prefix('app')->group(function () {
Route::view('/', 'index');
Route::view('/show/{id}', 'index');
});
私は/app以下のパスにAngularのアプリを配置したく、この方法を使いました。
ルートプレフィックスでルートパラメタを取得
プレフィックスにルートパラメタを指定する事もできます。
Route::prefix('{prefix}')->group(function () {
Route::get('/', 'HomeController@index')->name('home');
});
コントローラ側でルートパラメータを取得するには以下のようにすれば良いです。
class HomeController extends Controller
{
public function index($prefix)
{
var_dump($prefix);
}
}
Laravelのルートプレフィックスについては以上です
逆引きLaravel目次
Laravelでルートパラメータ(パスパラメータ)を取得する
LaravelでフォームのMethodをPUTやDELETEに変える
Laravelでフォームリクエストの型を定義してバリデーションする
Laravelのコントローラのアクションでモデル型を受け取る(モデル結合ルート)
LaravelでCookie(クッキー)の取得、書き込み、削除をする
Laradock
Laradockのworkspaceの共有ディレクトリを変更する
データベース
Laravelでデータベースのテーブル名を変更する(マイグレーション)
Laravelでデータベースのテーブルにカラムを追加する(マイグレーション)
Laravelで指定したカラムの次にカラムを追加する(マイグレーション)
Laravelでテーブルのカラム名を変更する(マイグレーション)
Laravelのmigrationでテーブルにunique制約を追加する
ルーティング
Laravelで特定のプレフィックスがついたURLのルーティングをまとめて定義する
ミドルウェア
認証
Laravelで未ログインユーザーがアクセスしたらログインフォームを表示する
LaravelのViewでログイン状態によって表示切替する方法