記事の内容
概要
コントローラーは、リクエストを処理し適切なレスポンスを返すためのクラスです。
コントローラーの作成
【実行内容】
php artisan make:controller コントローラー名
例
コマンド
php artisan make:controller SampleController
コントローラー定義
【ファイル先】app/Http/Controllers/SampleController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class SampleController extends Controller
{
// インデックスページを表示する
public function index()
{
return view('sample');
}
}
ルーティング定義
【oute指定】routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SampleController;
Route::get('/sample', [SampleController::class, 'index']);
ビュー定義
【view】resources/views/sample.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<h1>Sample Page</h1>
</body>
</html>
オプション一覧
リソースコントローラー
CRUD操作に対応した7つのメソッド(index, create, store, show, edit, update, destroy)が自動生成されます。
php artisan make:controller SampleController --resource
【短縮オプション】
php artisan make:controller SampleController -r
モジュールコントローラー
コントローラーをサブディレクトリ(ここではAdmin
)に作成します。
※モジュールや機能ごとにディレクトリを分けるときに便利
php artisan make:controller Admin/SampleController
APIコントローラー
APIに特化した構造を持つコントローラーを生成します。
php artisan make:controller SampleController --api
モデルとの連携
指定したモデルを自動でインポートし、データ操作が簡単にできるようになります。
php artisan make:controller SampleController --model=SampleModel
【短縮オプション】
php artisan make:controller SampleController -m SampleModel
シングルアクションコントローラー
シングルアクションコントローラーを作成します。
※__invoke
メソッドのみを持ち、特定のアクションのみを処理する際に使用
php artisan make:controller SampleController --invokable
【短縮オプション】
php artisan make:controller SampleController -i
フォームリクエストバリデーション
フォームリクエストバリデーション用のメソッドを含むコントローラーを作成します。
php artisan make:controller SampleController --requests