Cum definesti un controller intr-o aplicatie Laravel

Configurare noua (How To)

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.

Tip solutie

Permanent

Voteaza

(6 din 15 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?