Laravel5.6 Controllerの作成とルーティング設定
2018年03月19日

今回は、Laravel5.6での開発においてMVCモデルのC「Controller」の作成、ブラウザからの実行確認まで実装・解説していきます。
artisanコマンドを使用してのController生成や、ルート設定の確認なども本記事で紹介します。
開発環境については、過去の記事を参考にしてください。
Controllerの作成
まず、Controllerはプロジェクトのapp/Http/Controllers/に配置します。
今回はArticleController.phpという名前で作成します。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function index() { return 'Article'; } }
ルーティングの設定
ルーティングの設定は、プロジェクトのroute/web.phpを編集します。
ルーティング設定の構文
Route::メソッド(URI, コントローラー@メソッド);
ArticleControllerをルーティング設定すると以下のようになります。
Route::get('/Article','ArticleController@index');
ターミナルからartisanを使ってルートを確認してみます。
php artisan route:list
先ほど登録した、URI:Articleが登録されていれば成功です。
artisanコマンドを使ってControllerを生成する
ターミナルからartisanコマンドを使用してControllerを生成します。
php artisan make:controller ArticleController [-r]
[-r]はオプションで-rをつけるとCRUDに必要なメソッドも生成してくれます。
CRUDをルーティングする
先ほど生成したControllerをルーティング設定します。
Route::resource('/Article', 'ArticleController');
以下のCRUDメソッドのルーティング設定を上記の1行で設定することができます。
// GETメソッドで/Articleへアクセスした時のアクション Route::get('/Article', 'ArticleController@index')->name('Article.index'); // POSTメソッドで/Articleへアクセスした時のアクション Route::post('/Article', 'ArticleController@store')->name('Article.store'); // GETメソッドで/Article/createへアクセスした時のアクション Route::get('/Article/create', 'ArticleController@create')->name('Article.create'); // GETメソッドで/Article/{Top}へアクセスした時のアクション Route::get('/Article/{Top}', 'ArticleController@show')->name('Article.show'); // PUT,PATCHメソッドで/Article/{Top}へアクセスした時のアクション Route::match(['put','patch'],'/Article/{Top}', 'ArticleController@update')->name('Article.update'); // DELETEメソッドで/Article/{Top}へアクセスした時のアクション Route::delete('/Article/{Top}', 'ArticleController@destroy')->name('Article.delete'); // GETメソッドで/Article/{Top}/editへアクセスした時のアクション Route::get('/Article/{Top}/edit', 'ArticleController@edit')->name('Article.edit');
まとめ
CRUDに必要なメソッドを備えたControllerの生成や、一括ルーティング設定などを紹介しました。
HTTPメソッドのGETやPOSTはよく使われますが、PUTやDELETEなどの使い方なども今後紹介していきたいと思います。
Other
コメントはまだありません
2018年03月19日