Creare un controller
nan laravelPou kreye yon controller
, nou dwe louvri èd memwa oswa tèminal lòd la, dapre sistèm operasyon nou ap itilize a, epi tape lòd sa a pou kreye kontwolè a lè l sèvi avèk Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Ranplase <controller-name>
ak non w controller
. Sa pral kreye yon controller
. La controller
kreye ka wè nan app/Http/Controllers
.
Ou pral wè ke kèk kodaj debaz te deja fè pou ou epi ou ka ajoute pwòp kodaj koutim ou. La controller
kreye ka rele soti nan web.php ak sentaks sa a.
Route::get(‘base URI’,’controller@method’);
1 : Kouri lòd sa a pou kreye MyController
php artisan make:controller MyController
2 – Apre ekzekisyon siksè, ou pral jwenn pwodiksyon sa a.
3 – Nou pral jwenn kontwolè a ki te kreye nan app/Http/Controller/MyController.php
ak kèk kòd debaz ki deja ekri epi nou ka fè chanjman jan sa nesesè.
Nou te deja wè a middleware
epi nou ka sèvi ak li tou ak la controller
. La middleware
li kapab tou asiyen nan wout la kontwolè oswa nan konstrukteur a kontwolè. Ou ka itilize metòd la middleware
bay plas la middleware
al controller
. La middleware
anrejistre kapab tou limite a sèten metòd nan la controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Isit la nou ap bay middleware otantifikasyon UserController nan chemen pwofil la.
<?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');
}
}
Isit la nou ap plase a middleware
nan otantifikasyon lè l sèvi avèk metòd la middleware
nan konstrukteur la MyController .
Sonje ke $this->middleware()
travay sèlman si ou bay li nan konstrukteur la. Si nou rele $this->middleware()
soti nan yon metòd kontwolè espesifik, li pa pral jete okenn erè men middleware la pa pral aktyèlman travay.
Opsyon sa a valab, men pèsonèlman mwen prefere mete tout middleware yo nan routes
, paske li pi klè ki kote yo gade pou tout la middleware
.
1 – Ann ajoute liy kòd sa yo nan dosye a wout/web.php epi nou sove.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Ann kreye yon middleware
yo te rele FirstMiddleware
pa kouri liy sa a nan kòd.
php artisan make:middleware FirstMiddleware
3 : ajoute kòd sa a nan metòd la manyen nan FirstMiddleware
jis kreye nan 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 – Ann kreye yon middleware
yo te rele SecondMiddleware pa kouri lòd sa a.
php artisan make:middleware SecondMiddleware
5 : ann ajoute kòd sa a nan metòd manch lan nan SecondMiddleware
jis kreye nan 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 : ann kreye yon controller
yo te rele MyController pa kouri liy sa a.
php artisan make:controller MyController
7 - Apre url la egzekite avèk siksè, ou pral jwenn pwodiksyon sa a -
8 – Kopi kòd sa a nan dosye a 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 – Koulye a, kite a kòmanse php sèvè wèb entèn la pa kouri lòd sa a, si ou pa deja.
php artisan serve
10 – Vizite URL sa a.
http://localhost:8000/mycontroller/path
11 - Pwodiksyon an ap parèt jan yo montre nan imaj sa a.
Pwatikman tou de middlewares yo patisipe, men se yon sèl
Controller
di restful resource
Souvan lè w ap kreye yon aplikasyon ou bezwen fè bagay CRUD (Create, Read, Update, Delete)
. Laravel rann travay sa fasil. Jis kreye yon controller
epi Laravel ap bay tout metòd pou operasyon yo otomatikman CRUD
. Nou kapab tou anrejistre yon sèl chemen nan tout metòd nan dosye a route.php
.
1 : kreye yon kontwolè ki rele MyController
pa kouri lòd sa a.
php artisan make:controller MyController
2 : ajoute kòd sa a nan 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 – Ann ajoute liy kòd sa a nan dosye a routes/web.php
.
Route::resource('my','MyController');
4 – Nou ap enskri kounye a tout metòd MyController pa enskri yon kontwolè ak resous. Anba a se tablo aksyon kontwolè resous la jere.
Vèb | Path | Aksyon | Non wout |
---|---|---|---|
JWENN | / mwen | endèks | endèks mwen |
JWENN | /mwen/kreye | kreye | mwen.kreye |
POST | / mwen | estoke | my.store |
JWENN | /mwen/{mwen} | Montre | mwen.montre |
JWENN | /mwen/{mwen}/edit | edite | mwen.edit |
METE/PATCH | /mwen/{mwen} | aktyalizasyon | aktyalizasyon mwen an |
efase | /mwen/{mwen} | detwi | mwen detwi |
5 – Eseye kouri URL yo montre nan tablo ki anba a.
URL | Deskripsyon | sòti |
---|---|---|
http://localhost:8000/my | Egzekite metòd endèks MyController.php | endèks |
http://localhost:8000/my/create | Egzekite metòd kreye MyController.php | yo kreye |
http://localhost:8000/my/1 | Egzekite metòd montre nan MyController.php | Montre |
http://localhost:8000/my/1/edit | Egzekite metòd modifye MyController.php | edite |
Ercole Palmeri
Microsoft Excel se zouti referans pou analiz done, paske li ofri anpil karakteristik pou òganize seri done,...
Walliance, SIM ak platfòm nan mitan lidè yo nan Ewòp nan domèn nan Crowdfunding Imobilye depi 2017, anonse fini an ...
Filaman se yon kad devlopman "akselere" Laravel, ki bay plizyè konpozan plen pil. Li fèt pou senplifye pwosesis la nan...
«Mwen dwe retounen pou konplete evolisyon mwen an: mwen pral pwojte tèt mwen andedan òdinatè a epi mwen pral vin pi enèji. Yon fwa etabli nan...
Google DeepMind ap prezante yon vèsyon amelyore nan modèl entèlijans atifisyèl li yo. Nouvo modèl amelyore bay non sèlman...
Laravel, pi popilè pou sentaks elegant li yo ak karakteristik pwisan, tou bay yon fondasyon solid pou achitekti modilè. La…
Cisco ak Splunk ap ede kliyan akselere vwayaj yo nan Sant Operasyon Sekirite (SOC) nan tan kap vini an ak...
Ransomware te domine nouvèl la pou de dènye ane yo. Pifò moun konnen byen ke atak...