🙆
PHP学習->Laravel ルーティングとは
ルーティングとは
ブラウザから任意のURLにアクセスがあった場合に、どのコントローラを使うのかを定義する
Laravelでの記述場所:route/web.php
つまりは、クライアントからのリクエストに応じて
サーバー側の処理を指定するという役割がある
クライアントからのリクエストとは
- URLへのアクセス(=URLをリクエスト)
クライアントからURLがリクエストされたときは、GETメソッドで受け取る
URLへのアクセス以外にも、データの送信など様々なメソッドか使われる
- Post:新規データの送信
- Put:更新データの送信
- Delete:削除データの送信
ルーティングの設定
laravelの場合、すでにルーティングファイルは用意されている
route/web.php
設定手順
Route::HTTPリクエストメソッド名('URL', [コントローラ名::class, 'アクション名']);
-
HTTPリクエスト
ページにアクセスするときに、ブラウザからWebサーバに「このページ見させて!」と出されるリクエストのこと
ページにアクセスする際にはGETメソッドを使用する -
コントローラ名
該当URLにアクセスしたときに使用されるコントローラを定義 -
アクション名
PostController内に定義したアクション名を指定
実装例
メモの一覧を表示するアプリ作成
コントローラ内でindexアクションを定義しておく
ここではindex()が呼び出されたら、投稿一覧ページのビューを表示させますよーの処理
ビューを指定するときはresources/viewsを省略し、フォルダ名.ファイル名(.blade.phpは不要)と記述でOK
PostController.php
class PostController extends Controller
{
//一覧ページ
public function index(){
return view('posts.index');
}
}
ルーティング内では、下記のように記述する
/postsへのアクセスがあったら、Postcontrollerのindexアクションを呼び出しますよ、
ついでにこのルートの名前を、'posts.index'と名付けますよ
※名づけしておくことで、何か変更があった場合にrouteの記述編集のみで済む
web.php
Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
ルーティングについて読んだとき、なるほど分からんと思ったけど
zennでのアウトプットのために調べまくってたら、理解度があがってきた
やっぱりアウトプットって大事だな~。
Discussion