【Laravel入門】Route::groupについて学ぶ
目次
Route::groupとは
groupとはURIの接頭部や名前空間の接頭部を共通化できます。
ルートをグループ化し、共通の属性や中間ウェアを適用するための機能です。
この機能を使用することで、同じ属性や中間ウェアを持つ複数のルートをまとめて設定し、コードの重複を減少させることができます。
groupの書き方
group(['prefix' => '共通URI', 'as' => '共通ルート名' ]{
Route::get();
Route::get();
})
※prefixやasは省略してgroupを記述できます
スポンサードサーチ
RouteRegistrarクラスのgroupメソッド
class RouteRegistrar
{
use CreatesRegularExpressionRouteConstraints;
/**
* Create a route group with shared attributes.
*
* @param \Closure|array|string $callback
* @return $this
*/
public function group($callback)
{
$this->router->group($this->attributes, $callback);
return $this;
}
}
通常のルーティング
通常のルーティング
それぞれのルートを作成する場合は以下のようになる。
Route::get('user', function () { return view('user.index'); })->name('user.index');
Route::get('user/rejst', function () { return view('user.rejst'); })->name('user.rejst');
URIのuserと、ルート名(nameメソッド)のuserが共通処理があるのでグループ化させることができます。
グループ化のルーティング
Route::group(['prefix' => 'user', 'as' => 'user.'], function() {
Route::get('/', function () { return view('user.index'); })->name('index');
Route::get('rejst', function () { return view('user.rejst'); })->name('rejst');
});
groupメソッドを使うとコードも少なくなるので、管理やコードを見たときに分かりやすくすることができます。
スポンサードサーチ
コントローラーのルーティング
コントローラーのルーティング
use App\Http\Controllers\AuthenticationController;
use Illuminate\Support\Facades\Route;
Route::post('/login', [AuthenticationController::class, 'login']);
Route::get('/logout', [AuthenticationController::class, 'logout'])->name('logout');
グループ化のルーティング
use App\Http\Controllers\AuthenticationController;
use Illuminate\Support\Facades\Route;
Route::controller(AuthenticationController::class)->group(function () {
Route::post('/login', 'login');
Route::get('/logout', 'logout')->name('logout');
});
実装やエラーが解決できない場合
プログラミングの実装やエラーでどうしてもわからない場合はメンターに相談するのが一番です。
考えている、見えている範囲が狭くなり、解決から遠くに行って何時間も、何日も経っていることなんてよくある話です。
そういう時は聞ける先輩や、メンターに相談することが大事です。
僕にも相談可能なので気軽に相談してください。
Twitterからの連絡だと確実ですよ。
オンラインスクールやプログラミングスクールといったプログラミングを学べる方法もあるので、そちらもぜひ活用してもいいと思います。
Web開発で分からない時
オンライン完結型スクール DMM WEBCAMP PROアプリ開発で分からない時
プログラミング×稼げる副業スキルはテックキャンププログラミングについて分からない時
【コエテコ様限定】※ご案内を受けた以外のメディアが使用しても成果は承認されません。僕への個人でもメンターでも、スクールでもお好きな方を活用ください。