Creare un controller
hauv laravelTsim ib tug controller
, peb yuav tsum qhib qhov kev hais kom ua lossis lub davhlau ya nyob twg, raws li kev khiav haujlwm peb siv, thiab ntaus cov lus txib hauv qab no los tsim tus maub los siv Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Hloov <controller-name>
nrog koj lub npe controller
. Qhov no yuav tsim ib controller
. Cov controller
tsim tuaj yeem saib hauv app/Http/Controllers
.
Koj yuav pom tias qee qhov kev coding tau ua tiav rau koj thiab koj tuaj yeem ntxiv koj tus kheej kev cai coding. Cov controller
tsim tuaj yeem hu los ntawm web.php nrog cov lus hauv qab no.
Route::get(‘base URI’,’controller@method’);
1 : Khiav cov lus txib nram qab no los tsim MyController
php artisan make:controller MyController
2 - Tom qab ua tiav tiav, koj yuav tau txais cov txiaj ntsig hauv qab no.
3 - Peb yuav pom tus maub los tsim hauv app/Http/Controller/MyController.php
nrog rau qee qhov kev cai uas twb tau sau lawm thiab peb tuaj yeem hloov pauv raws li xav tau.
Peb twb pom cov middleware
thiab peb kuj tuaj yeem siv nws nrog cov controller
. Cov middleware
nws kuj tuaj yeem raug xa mus rau txoj kev tswj hwm lossis hauv tus tswj hwm tus tsim qauv. Koj tuaj yeem siv txoj kev middleware
mus assign middleware
al controller
. Cov middleware
sau npe kuj tuaj yeem txwv rau qee txoj hauv kev controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Ntawm no peb tab tom muab authentication middleware rau UserController hauv txoj kev profile.
<?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');
}
}
Ntawm no peb tab tom muab cov middleware
ntawm authentication siv txoj kev middleware
nyob rau hauv lub constructor MyController .
Nco ntsoov tias $this->middleware()
nws ua haujlwm solo yog tias koj muab nws rau hauv tus tsim. Yog peb hu $this->middleware()
los ntawm ib txoj kev tswj hwm tshwj xeeb, nws yuav tsis cuam tshuam qhov yuam kev tab sis cov khoom nruab nrab yuav tsis ua haujlwm.
Qhov kev xaiv no siv tau, tab sis tus kheej Kuv xav muab tag nrho cov khoom nruab nrab rau hauv routes
, vim nws yog clearer qhov twg mus nrhiav tag nrho cov middleware
.
1 - Cia peb ntxiv cov kab hauv qab no ntawm cov lej rau cov ntaub ntawv routes/web.php thiab peb cawm.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Cia peb tsim ib middleware
xim FirstMiddleware
los ntawm kev khiav cov kab hauv qab no ntawm code.
php artisan make:middleware FirstMiddleware
3 : ntxiv cov cai hauv qab no hauv txoj kev lis del FirstMiddleware
nyuam qhuav tsim nyob rau hauv app/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 – Cia peb tsim ib middleware
xim SecondMiddleware los ntawm kev khiav cov lus txib hauv qab no.
php artisan make:middleware SecondMiddleware
5 : cia peb ntxiv cov cai hauv qab no rau hauv txoj kev tuav ntawm tus SecondMiddleware
nyuam qhuav tsim nyob rau hauv app/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 : cia peb tsim ib controller
xim MyController los ntawm kev khiav cov kab hauv qab no.
php artisan make:controller MyController
7 - Tom qab lub url ua tiav, koj yuav tau txais cov zis hauv qab no -
8 - Luam cov lej hauv qab no rau hauv cov ntaub ntawv 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 - Tam sim no cia peb pib php hauv web server los ntawm kev khiav cov lus txib hauv qab no, yog tias koj tsis tau.
php artisan serve
10 - Mus saib qhov URL hauv qab no.
http://localhost:8000/mycontroller/path
11 - Cov zis yuav tshwm sim raws li qhia hauv daim duab hauv qab no.
Zoo li ob qho tib si nruab nrab tau koom nrog, tab sis tsuas yog ib qho xwb
Controller
di restful resource
Feem ntau thaum tsim ib daim ntawv thov koj yuav tsum ua ib yam dab tsi CRUD (Create, Read, Update, Delete)
. Laravel ua txoj haujlwm no yooj yim. Tsuas yog tsim ib controller
thiab Laravel yuav muab txhua txoj hauv kev rau kev ua haujlwm tau txais CRUD
. Peb kuj tuaj yeem sau ib txoj hauv kev rau txhua txoj hauv kev hauv cov ntaub ntawv route.php
.
1 : tsim tus maub los hu ua MyController
los ntawm kev khiav cov lus txib hauv qab no.
php artisan make:controller MyController
2 : ntxiv cov cai hauv qab no hauv 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 - Cia peb ntxiv cov kab hauv qab no hauv cov ntaub ntawv routes/web.php
.
Route::resource('my','MyController');
4 - Tam sim no peb tab tom sau npe txhua txoj hauv kev ntawm MyController los ntawm kev tso npe tus tswj hwm nrog cov peev txheej. Hauv qab no yog cov lus ntawm kev nqis tes ua tswj los ntawm tus tswj cov peev txheej.
Lus Askiv | Kab | Action | Route npe |
---|---|---|---|
TAU | / kuv | Performance index | kuv index |
TAU | /my/create | tsim | kuv. tsim |
NCEJ | / kuv | khw | kuv.kh |
TAU | /my/{kuv} | qhia tau tias | kuv.show |
TAU | /my/{my}/edit | kho kom raug | kuv.edit |
PAUB / PATCH | /my/{kuv} | update | kuv.update |
RHO TAWM | /my/{kuv} | rhuav tshem | kuv. rhuav |
5 - Sim khiav cov URLs qhia hauv cov lus hauv qab no.
URL | Descrizione | uscita ua |
---|---|---|
http://localhost:8000/my | Ua tus txheej txheem index ntawm MyController.php | Performance index |
http://localhost:8000/my/create | Ua tus tsim qauv ntawm MyController.php | creare |
http://localhost:8000/my/1 | Ua tus txheej txheem qhia ntawm MyController.php | qhia tau tias |
http://localhost:8000/my/1/edit | Ua tus hloov kho txoj kev ntawm MyController.php | kho kom raug |
Ercole Palmeri
Ib qho kev lag luam ua lag luam tsim ntau cov ntaub ntawv, txawm nyob hauv ntau hom ntawv. Manually sau cov ntaub ntawv no los ntawm daim ntawv Excel rau…
Qhov kev cuam tshuam ntawm tuam txhab email tau nce ntau dua ob npaug hauv thawj peb lub hlis ntawm 2024 piv rau lub quarter kawg ntawm…
Lub hauv paus ntsiab lus ntawm kev sib cais sib cais yog ib qho ntawm tsib lub hauv paus ntsiab lus ntawm kev tsim khoom siv. Ib chav kawm yuav tsum muaj…
Microsoft Excel yog cov cuab yeej siv rau kev txheeb xyuas cov ntaub ntawv, vim tias nws muaj ntau yam nta rau kev teeb tsa cov ntaub ntawv,…
Walliance, SIM thiab platform ntawm cov thawj coj hauv Tebchaws Europe hauv thaj tsam ntawm Kev Tsim Kho Vaj Tse Crowdfunding txij thaum 2017, tshaj tawm qhov ua tiav…
Filament yog ib qho "accelerated" Laravel txoj kev loj hlob lub moj khaum, muab ob peb pawg tag nrho. Nws yog tsim los kom yooj yim cov txheej txheem ntawm…
"Kuv yuav tsum rov qab los ua kom tiav kuv qhov kev hloov pauv: Kuv yuav ua haujlwm rau kuv tus kheej hauv computer thiab ua lub zog dawb huv. Ib zaug nyob hauv…
Google DeepMind tab tom qhia txog kev txhim kho ntawm nws cov qauv kev txawj ntse. Tus qauv txhim kho tshiab tsis yog tsuas yog…