Artikuj

Laravel: Çfarë janë kontrollorët laravel

Në kornizën MVC, shkronja "C" qëndron për Controllers, dhe në këtë artikull do të shohim se si të përdorim Controllers në Laravel. Vepron si trafik i drejtpërdrejtë midis pamjeve dhe modeleve. Në këtë artikull ne shohim se si të krijojmë dhe konfigurojmë kontrollues në Laravel.

Creare un controller në laravel

Për të krijuar një controller, duhet të hapim vijën e komandës ose terminalin, sipas sistemit operativ që po përdorim, dhe të shtypim komandën e mëposhtme për të krijuar kontrolluesin duke përdorur Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Zëvendësoni <controller-name> me emrin tuaj controller. Kjo do të krijojë një controller. Të controller krijuar mund të shikohet në app/Http/Controllers .

Do të shihni se disa kodime bazë janë bërë tashmë për ju dhe mund të shtoni kodimin tuaj personal. Të controller krijuar mund të thirret nga web.php me sintaksën e mëposhtme.

sintaksë
Route::get(‘base URI’,’controller@method’);
shembull

1 : Ekzekutoni komandën e mëposhtme për të krijuar MyController

php artisan make:controller MyController

2 – Pas ekzekutimit të suksesshëm, do të merrni daljen e mëposhtme.

3 – Ne do të gjejmë kontrolluesin e krijuar në app/Http/Controller/MyController.php me disa kode bazë të shkruar tashmë dhe ne mund të bëjmë ndryshime sipas nevojës.

Softueri i mesëm i kontrolluesit

Ne kemi parë tashmë middleware dhe ne gjithashtu mund ta përdorim atë me controller. Të middleware ai gjithashtu mund të caktohet në rrugën e kontrolluesit ose brenda konstruktorit të kontrolluesit. Ju mund të përdorni metodën middleware për të caktuar middleware al controller. Të middleware i regjistruar gjithashtu mund të kufizohet në disa metoda të controller.

Caktimi i programit të mesëm në rrugë
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Këtu po caktojmë softuerin e ndërmjetëm të vërtetimit UserController në rrugën e profilit.

Caktimi i softuerit të mesëm brenda konstruktorit të kontrolluesit
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Këtu po caktojmë middleware të vërtetimit duke përdorur metodën middleware në konstruktor MyController .

Vini re se $this->middleware() punon vetëm nëse e cakton në konstruktor. Nëse thërrasim $this->middleware() nga një metodë specifike e kontrolluesit, nuk do të shkaktojë ndonjë gabim, por programi i mesëm nuk do të funksionojë në të vërtetë.

Ky opsion është i vlefshëm, por personalisht Unë preferoj të vendos të gjithë programin e mesëm në routes, sepse është më e qartë se ku duhet kërkuar të gjitha middleware.

shembull

1 – Le të shtojmë linjat e mëposhtme të kodit në skedar rrugë/web.php dhe ne kursejmë.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Le të krijojmë një middleware i thirrur FirstMiddleware duke ekzekutuar rreshtin e mëposhtëm të kodit.

php artisan make:middleware FirstMiddleware

3 : shtoni kodin e mëposhtëm në metodë trajtuar del FirstMiddleware sapo krijuar në aplikacion/Http/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Le të krijojmë një middleware i thirrur SecondMiddleware duke ekzekutuar komandën e mëposhtme.

php artisan make:middleware SecondMiddleware

5 : le të shtojmë kodin e mëposhtëm në metodën e dorezës së SecondMiddleware sapo krijuar në aplikacion/Http/Middleware .

Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : le të krijojmë një controller i thirrur MyController duke drejtuar rreshtin e mëposhtëm.

php artisan make:controller MyController

7 – Pasi url-ja të ekzekutohet me sukses, do të merrni daljen e mëposhtme –

8 – Kopjoni kodin e mëposhtëm në skedar app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Tani le të fillojmë web serverin e brendshëm php duke ekzekutuar komandën e mëposhtme, nëse nuk e keni bërë tashmë.

php artisan serve

10 – Vizitoni URL-në e mëposhtme.

http://localhost:8000/mycontroller/path

11 – Dalja do të shfaqet siç tregohet në imazhin e mëposhtëm.

Praktikisht të dy programet e mesme janë të përfshira, por vetëm një

Controller di restful resource

Shpesh kur krijoni një aplikacion ju duhet të bëni diçka CRUD (Create, Read, Update, Delete)Laravel e bën këtë punë të lehtë. Thjesht krijoni një controller dhe Laravel do të sigurojë të gjitha metodat për operacionet automatikisht CRUD. Ne gjithashtu mund të regjistrojmë një rrugë të vetme për të gjitha metodat në skedar route.php.

shembull

1 : krijoni një kontrollues të quajtur MyController duke ekzekutuar komandën e mëposhtme.

php artisan make:controller MyController

2 : shtoni kodin e mëposhtëm app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – Le të shtojmë linjën e mëposhtme të kodit në skedar routes/web.php .

Route::resource('my','MyController');

4 – Tani po regjistrojmë të gjitha metodat e MyController duke regjistruar një kontrollues me burim. Më poshtë është tabela e veprimeve të menaxhuara nga kontrolluesi i burimeve.

foljeRrugëveprimEmri i rrugës
GET/ e imjaindeksindeksi im
GET/my/krijojkrijuarim.krijoj
POST/ e imjadyqandyqani im
GET/my/{my}Tregojshfaqja ime
GET/my/{my}/editredaktojim.redakto
PUT/PATCH/my/{my}Përditësimipërditësimi im
DELETE/my/{my}shkatërrojim.shkatërroj

5 – Provoni të ekzekutoni URL-të e paraqitura në tabelën më poshtë.

URLPërshkrimDalje
http://localhost:8000/myEkzekutoni metodën e indeksit të MyController.phpindeks
http://localhost:8000/my/createEkzekutoni metodën e krijimit të MyController.phpEdit
http://localhost:8000/my/1Ekzekutoni metodën e shfaqjes së MyController.phpTregoj
http://localhost:8000/my/1/editEkzekutoni metodën e redaktimit të MyController.phpredaktoj

Ercole Palmeri

Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.

Artikujt e fundit

Si të konsolidoni të dhënat në Excel

Çdo operacion biznesi prodhon shumë të dhëna, madje edhe në forma të ndryshme. Futni manualisht këto të dhëna nga një fletë Excel në…

14 Maj 2024

Analiza tremujore e Cisco Talos: emailet e korporatave të synuara nga kriminelët Prodhimi, arsimi dhe shëndetësia janë sektorët më të prekur

Kompromisi i emaileve të kompanive u rrit më shumë se dyfish në tre muajt e parë të 2024 krahasuar me tremujorin e fundit të…

14 Maj 2024

Parimi i ndarjes së ndërfaqes (ISP), parimi i katërt SOLID

Parimi i ndarjes së ndërfaqes është një nga pesë parimet SOLID të dizajnit të orientuar nga objekti. Një klasë duhet të ketë…

14 Maj 2024

Si të organizoni më së miri të dhënat dhe formulat në Excel, për një analizë të mirë-bërë

Microsoft Excel është mjeti referues për analizën e të dhënave, sepse ofron shumë veçori për organizimin e grupeve të të dhënave,…

14 Maj 2024

Përfundim pozitiv për dy projekte të rëndësishme Walliance Equity Crowdfunding: Jesolo Wave Island dhe Milano Via Ravenna

Walliance, SIM dhe platforma ndër liderët në Evropë në fushën e Crowdfunding të Pasurive të Paluajtshme që nga viti 2017, shpall përfundimin…

13 Maj 2024

Çfarë është Filament dhe si të përdorim Laravel Filament

Filament është një kornizë e "përshpejtuar" e zhvillimit të Laravel, duke ofruar disa komponentë të plotë. Është krijuar për të thjeshtuar procesin e…

13 Maj 2024

Nën kontrollin e Inteligjencës Artificiale

“Duhet të kthehem për të përfunduar evolucionin tim: do të projektoj veten brenda kompjuterit dhe do të bëhem energji e pastër. Pasi u vendos në…

10 Maj 2024

Inteligjenca e re artificiale e Google mund të modelojë ADN-në, ARN-në dhe "të gjitha molekulat e jetës"

Google DeepMind po prezanton një version të përmirësuar të modelit të tij të inteligjencës artificiale. Modeli i ri i përmirësuar ofron jo vetëm…

9 Maj 2024

Lexoni Inovacionin në gjuhën tuaj

Buletini i inovacionit
Mos humbisni lajmet më të rëndësishme mbi inovacionin. Regjistrohuni për t'i marrë ato me email.

na ndiqni