Situatie
În loc să definiți toată logica de gestionare a cererilor ca functii în fișierele de rută, este posibil să doriți să organizați acest comportament folosind clase „controller”.
Solutie
Controllerele pot grupa logica de gestionare a cererilor asociată într-o singură clasă. De exemplu, o clasă UserController poate gestiona toate solicitările primite legate de utilizatori, inclusiv afișarea, crearea, actualizarea și ștergerea utilizatorilor. În mod implicit, controlerele sunt stocate în directorul app/Http/Controllers.
Să aruncăm o privire la un exemplu de controler de bază. Rețineți că controlerul extinde clasa de control de bază inclusă cu Laravel: App\Http\Controllers\Controller:
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Models\User; class UserController extends Controller { /** * Show the profile for a given user. * * @param int $id * @return \Illuminate\View\View */ public function show($id) { return view(‘user.profile’, [ ‘user’ => User::findOrFail($id) ]); } } |
Puteți defini o rută către această metodă de controler astfel:
use App\Http\Controllers\UserController; Route::get(‘/user/{id}’, [UserController::class, ‘show’]); |
Când o solicitare primită se potrivește cu URI-ul rutei specificat, metoda show din clasa App\Http\Controllers\UserController va fi invocată și parametrii rutei vor fi transferați metodei.
Leave A Comment?