Controllers katika Laravel ni madarasa yenye jukumu la kushughulikia mantiki ya programu na kuwezesha mwingiliano kati ya miundo na maoni. Controllers kusaidia kutenganisha mantiki ya programu kutoka kwa kiolesura cha mtumiaji, na kuunda muundo wa mradi unaoeleweka na unaoweza kudumishwa.
Unda kidhibiti
Ili kuunda kidhibiti katika Laravel, unaweza kutumia Laravel amri ya Artisan. Kwa mfano, kuunda kidhibiti kinachoitwa UserController
, unaweza kuendesha amri ifuatayo kwenye terminal:
php artisan make:controller UserController
Mara tu kidhibiti kinapoundwa, unaweza kufafanua mbinu za kushughulikia ndani ya mtawala. Kwa mfano, kwa index()
njia, unaweza kupata data kutoka kwa mfano na kuipitisha kwa mwonekano wa kuonyesha:
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
}
Katika mfano ulio hapo juu, tunatumia User
modeli kupata data ya mtumiaji kutoka kwa hifadhidata. Kisha tunapitisha data hii kwa users.index
mwonekano ili kuonyesha orodha ya watumiaji.
Controllers pia inasaidia mbinu kama vile store()
, update()
, na delete()
kushughulikia uundaji wa data, kusasisha na kufuta. Unaweza kuingiliana na hifadhidata kupitia njia hizi.
Kuingia controller
ndani route
Ili kutumia controller
in route
, unaweza kutaja controller
jina na njia inayolingana katika routes/web.php
faili.
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
Katika mfano huu, mtumiaji anapofikia /users
URL, Laravel ataita index()
njia katika UserController
kushughulikia ombi.
Unda mwonekano wa skrini ya orodha ya watumiaji
Ili kuunda users.index
faili, unaweza kutumia amri ifuatayo:
php artisan make:view users.index
Amri hii itaunda index.blade.php
faili kwenye resources/views/users
saraka.
Mara faili imeundwa, unaweza kufungua index.blade.php
faili na kuunda kiolesura cha users.index
ukurasa. Unaweza kutumia sintaksia ya Blade kuunda muundo wa HTML na kuonyesha data kutoka kwa kidhibiti.
<!-- 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
Katika mfano hapo juu, tunatumia app.blade.php
mpangilio kupitia @extends('layouts.app')
. Yaliyomo kwenye ukurasa yamefafanuliwa ndani @section('content')
na huonyesha orodha ya watumiaji kutoka kwa $users
kibadilishaji ndani ya @foreach
kitanzi.
Ili kutumia users.index
ukurasa, unahitaji kufafanua njia inayofanana katika routes/web.php
faili ili uelekeze njia katika mtawala na urejeshe users.index
mtazamo.
Kwa muhtasari, controllers katika Laravel kusaidia kutenganisha mantiki ya programu na kushughulikia usindikaji wa data. Kwa kutumia controllers, unaweza kuunda programu zenye nguvu na zinazoweza kudumishwa katika Laravel.