LaravelのRoute::resource(基礎)
皆さん、こんにちは
今回はLaravelを勉強している時に、いまいち理解が出来なかったRoute::resource
について簡単に書いてみました。
メモ程度に書くのでよろしくお願いします
Laravelの基本的な説明は割愛させていただきます。
開発環境
・Mac
・php 7.4.6
・Laravel 7.15.0
Route::resourceとは
Laravelではルート情報をweb.phpに以下のように書きますよね。
Route::get('top', 'topController@index');
では、Route::resource
を見ていきます。
まずは、terminalで以下のコマンドを打ちます。
php artisan make:controller PostsController --resource
PostsController.phpというファイルが、作成されます。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PostsController extends Controller
{
public function index()
{
}
public function create()
{
}
public function store(Request $request)
{
}
public function show($id)
{
}
public function edit($id)
{
}
public function update(Request $request, $id)
{
}
public function destroy($id)
{
}
}
見てわかる通り、resourceはCRUDの機能を全て持っているのです。
その後、web.phpにルート情報を書きます。
Route::resource('posts', 'PostsController')
これで下準備が終わりました。
resourceの使い方(一例)
ここからは具体的に使い方の一例を紹介します。
PostsController.phpのcreateアクションと、storeアクションは新規作成などに使います。
public function create()
{
return view('create');
}
create.blade.phpに新規作成のビューを作成し、その中に新規作成用のフォームとボタンを作ります。
<a href={{ route('posts.store') }}>新規作成</a>
このボタンを押すことによって、create.blade.phpのフォームの情報がPostsController.phpのstoreアクションに飛ばされます。
あとは、storeアクションに、データベースにデータを追加する処理を書いて、リダイレクトすれば良いですね。
他のアクションは以下のような時に使います。
・showアクション
投稿の詳細を表示
・editアクション, updateアクション
編集
・destroyアクション
削除
今回は、resourceの概要を書いただけで、詳しいコードは書きませんでした。
間違っていることなどありましたら、指摘お願いします
参考にしたもの
1, 書籍 「Laravel入門」
2, Laravel公式
Author And Source
この問題について(LaravelのRoute::resource(基礎)), 我々は、より多くの情報をここで見つけました https://qiita.com/ryo-program/items/d73db7328e3e58687f2b著者帰属:元の著者の情報は、元の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 .