Controllers は Laravel 、アプリケーション ロジックを処理し、モデルとビュー間の対話を容易にするクラスです。 Controllers アプリケーション ロジックをユーザー インターフェイスから分離し、明確で保守可能なプロジェクト構造を作成します。
コントローラーの作成
でコントローラを作成するには、 の Artisan コマンドを Laravel 使用できます。 Laravel たとえば、 という名前のコントローラを作成するには UserController
、ターミナルで次のコマンドを実行します。
php artisan make:controller UserController
コントローラーを作成したら、コントローラー内で処理メソッドを定義できます。 たとえば、この index()
メソッドでは、モデルからデータを取得し、それを表示のためにビューに渡すことができます。
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
$users = User::all();
return view('users.index', ['users' => $users]);
}
// Other handling methods
}
上の例では、 User
モデルを使用してデータベースからユーザー データを取得します。 次に、このデータをビューに渡して、 users.index
ユーザーのリストを表示します。
Controllers データの作成、更新、削除を処理するための store()
、 update()
、 、 などのメソッドもサポートしています。 delete()
これらのメソッドを通じてデータベースと対話できます。
ヒューズ controller
イン route
controller
in を 使用するには、ファイル 内で名前と対応するメソッド route
を指定します 。 controller
routes/web.php
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
この例では、ユーザーが /users
URL にアクセスすると、の メソッドを Laravel 呼び出して リクエストを処理します。 index()
UserController
ユーザー一覧画面のビューを作成する
ファイルを作成するには users.index
、次のコマンドを使用できます。
php artisan make:view users.index
index.blade.php
このコマンドはディレクトリにファイル を作成します resources/views/users
。
ファイルが作成されたら、 index.blade.php
ファイルを開いてページのインターフェイスをデザインできます users.index
。 Blade 構文を使用して HTML 構造を作成し、コントローラーからのデータを表示できます。
<!-- resources/views/users/index.blade.php -->
@extends('layouts.app')
@section('content')
<h1>Users</h1>
<ul>
@foreach($users as $user)
<li>{{ $user->name }}</li>
@endforeach
</ul>
@endsection
上の例では、 app.blade.php
からレイアウトを使用します @extends('layouts.app')
。 ページのコンテンツは内で定義され、ループ 内の変数 @section('content')
からのユーザーのリストを表示します 。 $users
@foreach
このページを使用するには users.index
、ファイル内で対応するルートを定義し routes/web.php
、コントローラー内のメソッドを指し、 users.index
ビューを返す必要があります。
要約すると、ヘルプ controllers では Laravel アプリケーション ロジックを分離し、データ処理を処理します。 を使用すると controllers 、強力で保守しやすいアプリケーションを で構築できます Laravel。