web.phpで作成したコントローラーのリソースを登録する際
Route::resourceの第一引数に任意の文字列(今回はtodo)を指定する意図がまだよくわからず止まっています。
URLのドメイン以下にこのtodoを結びつけてルーティングに利用するのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
URLのドメイン以下にこのtodoを結びつけてルーティングに利用するのでしょうか?
(アクセスしてみれば分かると思いますが)その通りです。
第一引数に指定した文字列がそのまま指定の機能のアクセス先(URI)になります。
ベースURLがhttp://example.com/
だったとして
Route::resource('todo', 'TodoController');
と記述した場合
http://example.com/todo
にGETでアクセスしたらTodoControllerのindexメソッド
が、
http://example.com/todo
にPOSTでアクセスしたらTodoControllerのstoreメソッド
が、
http://example.com/todo/create
にGETでアクセスしたらTodoControllerのcreateメソッド
が、
http://example.com/todo/1
にGETでアクセスしたらTodoControllerのshowメソッド(引数として1が渡される)
が呼ばれる、
……という風に、勝手に複数のルーティングを設定してくれます。
第一引数はアクセスが正しく出来るならどんな文字列にしてもいいです。
今回はToDoリストだから「todo」にしていると思われますが、「post」でも「yarukoto」でも「d」でも何でもいいです。
(URLとしてユーザーに見える部分なので、あまりに変な文字列だと何だこれ?と思われるかもしれませんが)
実際にどんなルートを作られているのかを示しているのがRouteのリストです。
- Method:GETやPOST等、使用するHTTPメソッドの種類。(つまり「同じURLでもアクセス方法を変えると違うメソッドが呼べる」ということ)
- URI:ベースURL以降のURL。
{}
の部分にはコントローラーへ引数として渡される値が入る。 - Name:URIの名前。使い方等は→Laravel使うならrouteには名前をつけたほうが良い - Qiita
- Action:@の前が対象のController。@の後ろが呼ばれるメソッド。
- Middleware:すごく大雑把に言うと「そのURIにアクセスがあった時、勝手に行なってくれる処理の種類の名前」。例えば「web」ならアクセス後の返り値はHTML用のデータですが、「api」ではJSONになります。詳しくは「Middleware laravel」等でググってください。
投稿2019/06/04 06:46
総合スコア11427
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/04 07:00