Controllers in Laravel adalah kelas yang bertanggung jawab untuk menangani logika aplikasi dan memfasilitasi interaksi antara model dan tampilan. Controllers membantu memisahkan logika aplikasi dari antarmuka pengguna, menciptakan struktur proyek yang jelas dan dapat dipelihara.
Buat pengontrol
Untuk membuat pengontrol di Laravel, Anda dapat menggunakan Laravel perintah Artisan. Misalnya, untuk membuat pengontrol bernama UserController
, Anda dapat menjalankan perintah berikut di terminal:
php artisan make:controller UserController
Setelah pengontrol dibuat, Anda dapat menentukan metode penanganan di dalam pengontrol. Misalnya, dalam index()
metode ini, Anda dapat mengambil data dari model dan meneruskannya ke tampilan untuk ditampilkan:
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
}
Dalam contoh di atas, kami menggunakan User
model untuk mengambil data pengguna dari database. Kami kemudian meneruskan data ini ke tampilan users.index
untuk menampilkan daftar pengguna.
Controllers juga mendukung metode seperti store()
, update()
, dan delete()
untuk menangani pembuatan, pembaruan, dan penghapusan data. Anda dapat berinteraksi dengan database melalui metode ini.
Masuk controller
_ route
Untuk menggunakan controller
in route
, Anda dapat menentukan controller
nama dan metode yang sesuai dalam routes/web.php
file.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Dalam contoh ini, ketika pengguna mengakses /users
URL, Laravel akan memanggil index()
metode untuk UserController
menangani permintaan tersebut.
Buat tampilan untuk layar daftar pengguna
Untuk membuat users.index
file, Anda dapat menggunakan perintah berikut:
php artisan make:view users.index
Perintah ini akan membuat index.blade.php
file di resources/views/users
direktori.
Setelah file dibuat, Anda dapat membuka index.blade.php
file dan mendesain antarmuka untuk users.index
halaman tersebut. Anda dapat menggunakan sintaks Blade untuk membuat struktur HTML dan menampilkan data dari pengontrol.
<!-- 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
Pada contoh di atas, kita menggunakan app.blade.php
layout through @extends('layouts.app')
. Konten halaman ditentukan di dalam @section('content')
dan menampilkan daftar pengguna dari $users
variabel dalam satu @foreach
lingkaran.
Untuk menggunakan users.index
halaman, Anda perlu menentukan rute yang sesuai di file routes/web.php
untuk menunjuk ke metode di pengontrol dan mengembalikan users.index
tampilan.
Singkatnya, controllers dalam Laravel membantu memisahkan logika aplikasi dan menangani pemrosesan data. Dengan menggunakan controllers, Anda dapat membangun aplikasi yang kuat dan dapat dipelihara dalam Laravel.