Unity(C#)初心者・入門者向けチュートリアル ひよこのたまご

AndroidやiOS向けアプリを簡単に作れるゲーム開発環境Unity(ユニティ)の使い方を、チュートリアル方式で一緒に学びましょう!

【Laravel】ResourceControllerで使用するアクションを限定する!

PHPバージョン:7.1.14
Laravelバージョン:5.7.9

今回はResourceControllerで使用するアクションを限定します!

ResourceControllerはデフォルトで
index, create, store, show, edit, update, destroy
と7つのメソッドを実装します!

が、例えばDBを更新する
store, update, destroyといったメソッドを使わせたくない時や、
index, create, show, editといった
ビューの表示を担当するメソッドは必要ないといった時、
Routeにてアクションを制限することができます!


onlyオプション

ResourceControllerアクションの制限には2つ用意されています。
まずはonlyオプションから。

<?php

Route::resource('articles', 'ResController', ['only' => [
    'index', 'show'
]]);

routes>web.php

第3引数に配列で使用可能アクションを指定することができます。
許可されていないアクションを実行すると
404エラーもしくはMethodNotAllowedHttpExceptionエラーとなります。

f:id:hiyotama:20181113173948p:plain

exceptオプション

続いてexceptオプションです。

<?php
Route::resource('articles', 'ResController', ['except' => [
    'index', 'show'
]]);

routes>web.php

exceptオプションは配列で指定したアクションを禁止します。

apiResource

Route::resourceメソッドの代わりに、
Route::apiResourceというメソッドがあります。
作成ページを表示するcreateと
編集ページを表示するeditの2メソッドの使用を制限します。

<?php

Route::apiResource('articles', 'ResController');

routes>web.php


今回はここまでです、ありがとうございました〜!