Creare un controller
ku-laravelUkwakha a controller
, kufanele sivule umyalo womyalo noma ukuphela, ngokuya ngesistimu yokusebenza esiyisebenzisayo, bese uthayipha umyalo olandelayo ukuze udale isilawuli usebenzisa Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Faka esikhundleni <controller-name>
ngegama lakho controller
. Lokhu kuzodala a controller
. I- controller
okudaliwe kungabukwa ku app/Http/Controllers
.
Uzobona ukuthi ukubhala ngekhodi okuyisisekelo sekuvele kwenziwe kuwe futhi ungakwazi ukwengeza owakho amakhodi ngokwezifiso. I controller
okudaliwe kungabizwa ku-web.php nge-syntax elandelayo.
Route::get(‘base URI’,’controller@method’);
1 : Qalisa umyalo olandelayo ukuze udale MyController
php artisan make:controller MyController
2 - Ngemuva kokwenza ngempumelelo, uzothola okukhiphayo okulandelayo.
3 - Sizothola isilawuli esidalwe ngaphakathi app/Http/Controller/MyController.php
ngekhodi ethile eyisisekelo esivele ibhaliwe futhi singenza izinguquko njengoba kudingeka.
Sesiyibonile kakade i middleware
futhi singayisebenzisa ne- controller
. I- middleware
ingase futhi yabelwe umzila wesilawuli noma ngaphakathi komakhi wesilawuli. Ungasebenzisa indlela middleware
ukwabela i middleware
al controller
. I- middleware
ukubhaliswa kungabuye kukhawulelwe ezindleleni ezithile ze controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Lapha sabela ubuqiniso be-middleware ku-UserController endleleni yephrofayela.
<?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');
}
}
Lapha sinikeza i middleware
lokufakazela ubuqiniso ngokusebenzisa indlela middleware
kumakhi I-MyController .
Qaphela ukuthi $this->middleware()
kuyasebenza kuphela uma ukwabela umakhi. Uma sifona $this->middleware()
kusuka endleleni ethile yesilawuli, ngeke ilahle noma yimaphi amaphutha kodwa i-middleware ngeke isebenze empeleni.
Le nketho ivumelekile, kodwa mathupha ngincamela ukufaka zonke izinto eziphakathi ku routes
, ngoba kucacile ukuthi ungabheka kuphi middleware
.
1 - Ake sengeze imigqa elandelayo yekhodi efayeleni imizila/web.php futhi siyasindisa.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Ake sakhe a middleware
ubizile FirstMiddleware
ngokusebenzisa umugqa olandelayo wekhodi.
php artisan make:middleware FirstMiddleware
3 : engeza ikhodi elandelayo endleleni phatha i-del FirstMiddleware
isanda kwakhiwa uhlelo lokusebenza/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 – Ake sakhe a middleware
ubizile I-SecondMiddleware ngokusebenzisa umyalo olandelayo.
php artisan make:middleware SecondMiddleware
5 : ake sengeze ikhodi elandelayo endleleni yokubamba ye SecondMiddleware
isanda kwakhiwa uhlelo lokusebenza/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 : asidale a controller
ubizile I-MyController ngokusebenzisa umugqa olandelayo.
php artisan make:controller MyController
7 - Ngemuva kokuthi i-url isebenze ngempumelelo, uzothola okukhiphayo okulandelayo -
8 - Kopisha ikhodi elandelayo efayeleni 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 - Manje ake siqale iseva yewebhu yangaphakathi ye-php ngokusebenzisa umyalo olandelayo, uma ungakenzi.
php artisan serve
10 – Vakashela i-URL elandelayo.
http://localhost:8000/mycontroller/path
11 – Okukhiphayo kuzovela njengoba kukhonjisiwe esithombeni esilandelayo.
Cishe womabili ama-middlewares ahilelekile, kodwa eyodwa kuphela
Controller
di restful resource
Ngokuvamile lapho udala uhlelo lokusebenza udinga ukwenza okuthile CRUD (Create, Read, Update, Delete)
. I-Laravel yenza lo msebenzi ube lula. Vele udale a controller
futhi iLaravel izohlinzeka ngazo zonke izindlela zokusebenza ngokuzenzakalelayo CRUD
. Futhi singarekhoda indlela eyodwa kuzo zonke izindlela efayeleni route.php
.
1 : dala isilawuli esibizwa MyController
ngokusebenzisa umyalo olandelayo.
php artisan make:controller MyController
2 : engeza ikhodi elandelayo ku 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 – Ake sengeze umugqa olandelayo wekhodi efayeleni routes/web.php
.
Route::resource('my','MyController');
4 - Manje sesibhalisa zonke izindlela ze-MyController ngokubhalisa isilawuli ngesisetshenziswa. Ngezansi ithebula lezenzo eliphethwe isilawuli sensiza.
I-Verb | Indlela | Action | Igama lomzila |
---|---|---|---|
Thola | / wami | Inkomba | inkomba yami |
Thola | /yami/dala | ukudala | yami.dala |
I-POST | / wami | esitolo | isitolo sami |
Thola | /yami/{yami} | show | umbukiso wami |
Thola | /my/{my}/edit | hlela | yami.hlela |
BHEKA/PATCH | /yami/{yami} | buyekeza | ukubuyekezwa.kwami |
SUSA | /yami/{yami} | ukubhubhisa | chitha |
5 – Zama ukusebenzisa ama-URL akhonjiswe kuthebula elingezansi.
I-URL | Descrizione | Phuma |
---|---|---|
http://localhost:8000/my | Sebenzisa indlela yenkomba ye-MyController.php | Inkomba |
http://localhost:8000/my/create | Sebenzisa indlela yokudala ye-MyController.php | creare |
http://localhost:8000/my/1 | Sebenzisa indlela yombukiso ye-MyController.php | show |
http://localhost:8000/my/1/edit | Sebenzisa indlela yokuhlela ye-MyController.php | hlela |
Ercole Palmeri
I-Google DeepMind yethula inguqulo ethuthukisiwe yemodeli yayo yobuhlakani bokwenziwa. Imodeli entsha ethuthukisiwe ayinikezi kuphela…
I-Laravel, edume nge-syntax yayo enhle nezici ezinamandla, iphinde inikeze isisekelo esiqinile sokwakhiwa kwe-modular. Lapho…
I-Cisco ne-Splunk zisiza amakhasimende ukuthi asheshise uhambo lwawo oluya ku-Security Operations Center (SOC) yesikhathi esizayo nge...
I-Ransomware iphethe izindaba kule minyaka emibili edlule. Iningi labantu lazi kahle ukuthi ukuhlasela...
Ukuhlinzwa kwe-ophthalmoplasty kusetshenziswa isibukeli sezentengiso se-Apple Vision Pro kwenziwa eCatania Polyclinic…
Ukuthuthukisa amakhono amahle emisipha ngokusebenzisa imibala kulungiselela izingane amakhono ayinkimbinkimbi njengokubhala. Ukufaka umbala...
Umkhakha wezempi wasolwandle ungamandla ezomnotho weqiniso emhlabeni jikelele, osudlule wafinyelela emakethe yezigidigidi eziyi-150...
NgoMsombuluko odlule, i-Financial Times imemezele isivumelwano ne-OpenAI. I-FT inikeza amalayisense ubuntatheli bayo obusezingeni lomhlaba…