#何が言いたい
Laravelの--resource
コマンドがうれしい。
自分のような初心者が一からCRUD機能付きアプリを実装したいとき、何をしたらいいかを示してくれる。
=>はじめの一歩でコケにくい。
#--resourceコマンド
Laravelではphp artisan make:controller FooController
とコマンドを実行すると、FooControllerのひな型が作成されます。
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class FooController extends Controller
{
//
}
これだけでもありがたいのですが、中身がまっさらなので初心者的にはこれからどうすればいいかわからない...
そこで、上記のコマンドを実行する代わりに、末尾に--resource
を追加して、
php artisan make:controller FooController --resource
とコマンドを実行すると...
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class FooController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
// 中略 //
// create, store, show, edit, updateメソッドが含まれます //
/**
* Remove the specified resource from storage.
*
* @param \App\Foo $foo
* @return \Illuminate\Http\Response
*/
public function destroy(Foo $foo)
{
//
}
}
このように、登録・更新・参照・削除に必要なメソッドを簡単に用意してくれます🎉
次にこれらのメソッドを使用するために、ルーティングを設定しましょう。
と言っても...
Route::resource('foo', 'FooController');
これをweb.phpファイルに追加して終了です。
php artisan route:list
コマンドを実行すると、それぞれのルーティングが設定できているのが確認できると思います。
あとはそれぞれのメソッドの中に処理を書いていけばいいので、作業の見通しがつきますね!
#おわりに
間違いがある場合、もしくはより良い方法がある場合には、忌憚なくご指摘いただけると嬉しいです。