Controllers dalam Laravel adalah kelas yang bertanggungjawab untuk mengendalikan logik aplikasi dan memudahkan interaksi antara model dan pandangan. Controllers membantu memisahkan logik aplikasi daripada antara muka pengguna, mewujudkan struktur projek yang jelas dan boleh diselenggara.
Buat pengawal
Untuk mencipta pengawal dalam Laravel, anda boleh menggunakan Laravel arahan Artisan. Sebagai contoh, untuk mencipta pengawal bernama UserController
, anda boleh menjalankan arahan berikut dalam terminal:
php artisan make:controller UserController
Setelah pengawal dibuat, anda boleh menentukan kaedah pengendalian dalam pengawal. Sebagai contoh, dalam index()
kaedah, anda boleh mendapatkan semula data daripada model dan menghantarnya ke paparan untuk paparan:
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 mendapatkan semula data pengguna daripada pangkalan data. Kami kemudian menghantar data ini ke paparan users.index
untuk memaparkan senarai pengguna.
Controllers juga menyokong kaedah seperti store()
, update()
, dan delete()
untuk mengendalikan penciptaan, pengemaskinian dan pemadaman data. Anda boleh berinteraksi dengan pangkalan data melalui kaedah ini.
HUsing controller
in route
Untuk menggunakan controller
in route
, anda boleh menentukan controller
nama dan kaedah yang sepadan dalam routes/web.php
fail.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Dalam contoh ini, apabila pengguna mengakses /users
URL, Laravel akan memanggil index()
kaedah dalam UserController
untuk mengendalikan permintaan.
Buat paparan untuk skrin senarai pengguna
Untuk mencipta users.index
fail, anda boleh menggunakan arahan berikut:
php artisan make:view users.index
Perintah ini akan mencipta index.blade.php
fail dalam resources/views/users
direktori.
Setelah fail dibuat, anda boleh membuka index.blade.php
fail dan mereka bentuk antara muka untuk users.index
halaman tersebut. Anda boleh menggunakan sintaks Blade untuk mencipta struktur HTML dan memaparkan data daripada pengawal.
<!-- 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
Dalam contoh di atas, kami menggunakan app.blade.php
reka letak melalui @extends('layouts.app')
. Kandungan halaman ditakrifkan dalam @section('content')
dan memaparkan senarai pengguna daripada $users
pembolehubah dalam @foreach
gelung.
Untuk menggunakan users.index
halaman, anda perlu menentukan laluan yang sepadan dalam routes/web.php
fail untuk menunjuk ke kaedah dalam pengawal dan mengembalikan users.index
pandangan.
Ringkasnya, controllers dalam Laravel membantu memisahkan logik aplikasi dan mengendalikan pemprosesan data. Dengan menggunakan controllers, anda boleh membina aplikasi yang berkuasa dan boleh diselenggara dalam Laravel.