Creare un controller
në laravelPë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.
Route::get(‘base URI’,’controller@method’);
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.
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
.
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.
<?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
.
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 .
<?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
.
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.
folje | Rrugë | veprim | Emri i rrugës |
---|---|---|---|
GET | / e imja | indeks | indeksi im |
GET | /my/krijoj | krijuar | im.krijoj |
POST | / e imja | dyqan | dyqani im |
GET | /my/{my} | Tregoj | shfaqja ime |
GET | /my/{my}/edit | redaktoj | im.redakto |
PUT/PATCH | /my/{my} | Përditësimi | përditësimi im |
DELETE | /my/{my} | shkatërroj | im.shkatërroj |
5 – Provoni të ekzekutoni URL-të e paraqitura në tabelën më poshtë.
URL | Përshkrim | Dalje |
---|---|---|
http://localhost:8000/my | Ekzekutoni metodën e indeksit të MyController.php | indeks |
http://localhost:8000/my/create | Ekzekutoni metodën e krijimit të MyController.php | Edit |
http://localhost:8000/my/1 | Ekzekutoni metodën e shfaqjes së MyController.php | Tregoj |
http://localhost:8000/my/1/edit | Ekzekutoni metodën e redaktimit të MyController.php | redaktoj |
Ercole Palmeri
Ç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ë…
Kompromisi i emaileve të kompanive u rrit më shumë se dyfish në tre muajt e parë të 2024 krahasuar me tremujorin e fundit të…
Parimi i ndarjes së ndërfaqes është një nga pesë parimet SOLID të dizajnit të orientuar nga objekti. Një klasë duhet të ketë…
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,…
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…
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…
“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ë…
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…