Laravel8のルーティング
はじめに
laravelの8でこれまでのバージョンとルーティングの書き方が変わったようなので、変更点を記載する。
前提
PostControllerのindexアクションを呼びたい時
PostController.php
<?php
namespace App\Http\Controllers;
use App\Models\Post;
/**
* Class PostController
* @package App\Http\Controllers
*/
class PostController extends Controller
{
/**
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$posts = Post::all();
return view('post.index', ['posts' => $posts]);
}
}
laravel8より前
web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/posts', 'PostController@index');
laravel8
web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PostController;
Route::get('/posts', [PostController::class, 'index']);
まとめ
laravel8からはコントローラーをweb.phpでuseしてあげないといけなくなったみたいですね。
明示的にどのコントローラーが使われているのかが分かるけど、記述量が増えちゃいますね。
これは賛否両論ありそう。
参考
Author And Source
この問題について(Laravel8のルーティング), 我々は、より多くの情報をここで見つけました https://qiita.com/Kensuke-N/items/bf8fb153bc9c36b8d1af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .