LoginSignup
29
16

More than 3 years have passed since last update.

Laravel8でのルーティングで、コントローラーの指定の仕方4選

Last updated at Posted at 2020-10-16

すごい久しぶりにqiita。
久しぶりにLaravel触ろうと思ったらLaravel8が出てて、試してみる。
Laravel7以前のと比べてRouteの書き方変わってたのでメモ。
(ぜんぜん大した話じゃないけどまだインターネッツに残っていないと思ったものは積極的に残すスタイル。)

前提: 今までの書き方

Route::get('hoge/fuga', 'Hoge\FugaController@index');

Laravel7までは有効。Laravel8ではエラーになります。

1: 教科書どおりがいい派

use App\Http\Controllers\Hoge\FugaController;
Route::get('hoge/fuga', [FugaController::class, 'index']);

使うクラスはすべてuseで指定しておいたほうが見通しがいい人向け。

2: useうざい派

Route::get('hoge/fuga', [App\Http\Controllers\Hoge\HugaController::class, 'index']);

useはなくして、並んだ絶対パス眺めるのが好きな人向け。

3: 前みたいにシンプルに書きたい派

Route::get('hoge/fuga', '\App\Http\Controllers\Hoge\FugaController@index');

Laravel8での新作法に違和感を感じる人向け

4: 完全に前のに戻したい派

app/Providers/RouteServiceProvider.php
を変更する必要があり、コメントアウトされている

// protected $namespace = 'App\\Http\\Controllers';

のコメントアウトを外して有効にする。

Route::get('hoge/fuga', 'Hoge\FugaController@index');

で以前と変わらない書き方ができる。


ぼくは2です。
いじょー!


29
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
16