Controllers dalam Laravel- Mengendalikan Logik Aplikasi dan Interaksi Data

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.