ルーティング実践(Laravel)
はじめに
今回はルーティング記述しついで対応するコントローラとメソッドをコマンドで作成するところまで、軽く基本をおさらいします。
ルーティングとは
ルーティングとは〜にアクセスされたら〜コントローラーの〜アクションメソッドを実行する、という処理の流れを表すものです。
routes/web.phpにRouteファサードを使って記述します。たとえば
Route::get('/user', 'UserController@index');
getメソッドを使うとこんな感じです。処理の流れとしては、/userにアクセスされた時、UserControllerコントローラのindexアクションメソッドが実行されます。
Route::get
Route::post
Route::put
Route::patch
Route::delete
などが同様に使えます。
書式は以下の通り
Route::get('path', クロージャ); // クロージャの中にpathに対応する処理を書く
Route::get('path', 'コントローラ名@アクション名');
ルーティングを記述
実はLaravelでは、よく使われる機能のルーティング(CRUDルーティング)をひとまとめにしたメソッドがデフォルトで用意されています!
Route::resource
をlaravel/routes/web.php
に追加すると下記7つの処理を定義するルートが全て登録できます!
- 一覧表示(index)
- 個別表示(show)
- 登録画面表示(create)
- 登録処理(store)
- 更新画面表示(edit)
- 更新処理(update)
- 削除処理(destroy)
ためしてみましょう。
<?php
Auth::routes();
Route::resource('/articles', 'ArticleController'); //この行を追加
下記コマンドでルーティングが追加できたか確認・・
$ php artisan route:list
追加できてる!!
+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+-------------------------+------------------+------------------------------------------------------------------------+------------+
| | POST | articles | articles.store | App\Http\Controllers\ArticleController@store 登録処理 | web |
| | GET|HEAD | articles | articles.index | App\Http\Controllers\ArticleController@index 一覧表示 | web |
| | GET|HEAD | articles/create | articles.create | App\Http\Controllers\ArticleController@create 登録画面表示 | web |
| | DELETE | articles/{article} | articles.destroy | App\Http\Controllers\ArticleController@destroy 削除処理 | web |
| | PUT|PATCH | articles/{article} | articles.update | App\Http\Controllers\ArticleController@update 更新処理 | web |
| | GET|HEAD | articles/{article} | articles.show | App\Http\Controllers\ArticleController@show 個別表示 | web |
| | GET|HEAD | articles/{article}/edit | articles.edit | App\Http\Controllers\ArticleController@edit 更新画面表示
{article}の部分には更新対象とするArticleモデルのid
例えば、idが3である記事の更新画面を表示するURLは、開発環境ではlocalhost/articles/3/edit
となります。
コントローラーとメソッドも作る
php artisan make:controller ArticleController --resource
で対応するコントローラとメソッドを自動生成!
まとめ
今回はルーティング記述しついで対応するコントローラとメソッドをコマンドで作成するところまで。最近はLaravelを触りたくてしょうがないです。また投稿します。
Author And Source
この問題について(ルーティング実践(Laravel)), 我々は、より多くの情報をここで見つけました https://qiita.com/sohhprog/items/642140609a928329af1a著者帰属:元の著者の情報は、元の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 .