Creare un controller
in laravelDon ƙirƙirar a controller
, Dole ne mu bude umarni da sauri ko tashoshi, bisa ga tsarin aiki da muke amfani da shi, kuma mu rubuta wannan umarni don ƙirƙirar mai sarrafawa ta amfani da Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Sauya <controller-name>
da sunan ku controller
. Wannan zai haifar da a controller
. The controller
halitta za a iya duba a app/Http/Controllers
.
Za ku ga cewa an riga an yi muku wasu ƙididdiga na asali kuma kuna iya ƙara lambar ku ta al'ada. The controller
ƙirƙira za a iya kira daga web.php tare da wadannan syntax.
Route::get(‘base URI’,’controller@method’);
1 : Guda umarni mai zuwa don ƙirƙirar MyController
php artisan make:controller MyController
2 – Bayan nasarar aiwatarwa, zaku sami fitarwa mai zuwa.
3 – Za mu nemo mai sarrafawa halitta a app/Http/Controller/MyController.php
tare da wasu lambar asali da aka riga aka rubuta kuma za mu iya yin canje-canje kamar yadda ake buƙata.
Mun riga mun ga middleware
kuma za mu iya amfani da shi tare da na'urar controller
. The middleware
Hakanan za'a iya sanya shi zuwa hanyar sarrafawa ko a cikin ginin mai sarrafawa. Kuna iya amfani da hanyar middleware
don sanyawa middleware
al controller
. The middleware
rajista kuma za a iya iyakance ga wasu hanyoyin na controller
.
Route::get('profile', [
'middleware' => 'auth',
'uses' => 'UserController@showProfile'
]);
Anan muna sanya tsakiyar kayan aikin tantancewa zuwa UserController a hanyar bayanin martaba.
<?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');
}
}
Anan muna sanyawa middleware
na tabbatarwa ta amfani da hanyar middleware
a cikin ginin gini MyController .
Lura cewa $this->middleware()
yana aiki solo idan kun sanya shi a cikin ginin ginin. Idan muka kira $this->middleware()
daga takamaiman hanyar sarrafawa, ba zai jefa kowane kurakurai ba amma middleware ba zai yi aiki da gaske ba.
Wannan zaɓin yana da inganci, amma da kaina na gwammace in saka dukkan kayan tsakiya a cikin routes
, domin ya fi bayyana inda za a nemo duk middleware
.
1 – Bari mu ƙara wadannan lambobin code a cikin fayil hanyoyi/web.php kuma muna ajiyewa.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Bari mu halitta a middleware
da ake kira FirstMiddleware
ta hanyar gudanar da layin code na gaba.
php artisan make:middleware FirstMiddleware
3 : ƙara lambar mai zuwa a cikin hanyar rike del FirstMiddleware
kawai halitta a 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 – Bari mu halitta a middleware
da ake kira SecondMiddleware ta hanyar gudanar da umarni mai zuwa.
php artisan make:middleware SecondMiddleware
5 : bari mu ƙara da wadannan code a cikin rike Hanyar na SecondMiddleware
kawai halitta a 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 : mu kirkiro a controller
da ake kira MyController ta hanyar gudanar da layi mai zuwa.
php artisan make:controller MyController
7 - Bayan url ya yi nasara, zaku sami fitarwa mai zuwa -
8 – Kwafi lambar mai zuwa cikin fayil ɗin 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 – Yanzu bari mu fara uwar garken gidan yanar gizo na php ta hanyar gudanar da umarni mai zuwa, idan ba ku rigaya ba.
php artisan serve
10 – Ziyarci URL mai zuwa.
http://localhost:8000/mycontroller/path
11 – Fitowar zai bayyana kamar yadda aka nuna a hoto mai zuwa.
Kusan duka na'urorin tsakiya suna cikin hannu, amma ɗaya kawai
Controller
di restful resource
Sau da yawa lokacin ƙirƙirar aikace-aikacen kana buƙatar yin wani abu CRUD (Create, Read, Update, Delete)
. Laravel yana sauƙaƙe wannan aikin. Kawai ƙirƙirar a controller
kuma Laravel zai samar da duk hanyoyin don ayyukan ta atomatik CRUD
. Hakanan zamu iya yin rikodin hanya ɗaya zuwa duk hanyoyin da ke cikin fayil ɗin route.php
.
1 : ƙirƙirar mai sarrafawa da ake kira MyController
ta hanyar gudanar da umarni mai zuwa.
php artisan make:controller MyController
2 : ƙara code mai zuwa a ciki 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 – Bari mu ƙara da wadannan layi na code a cikin fayil routes/web.php
.
Route::resource('my','MyController');
4 - Yanzu muna yin rajistar duk hanyoyin MyController ta hanyar yin rijistar mai sarrafawa tare da albarkatu. A ƙasa akwai teburin ayyukan da mai sarrafa albarkatun ke sarrafa.
Verb | hanyar | Action | Sunan Hanya |
---|---|---|---|
SAMU | / na | index | na. index |
SAMU | /na/ halitta | ƙirƙirar | na. halitta |
POST | / na | store | kantina |
SAMU | /na/{na} | show | nuni na |
SAMU | /my/{nawa}/edit | edit | na.edit |
SAKA/PATCH | /na/{na} | update | na.sabunta |
share | /na/{na} | Hallaka | na. halaka |
5 – Gwada gudanar da URLs da aka nuna a teburin da ke ƙasa.
URL | Descrizione | Fita |
---|---|---|
http://localhost:8000/my | Yi hanyar index na MyController.php | index |
http://localhost:8000/my/create | Yi hanyar ƙirƙirar MyController.php | ƙaddara |
http://localhost:8000/my/1 | Yi hanyar nuni na MyController.php | show |
http://localhost:8000/my/1/edit | Yi hanyar gyara MyController.php | edit |
Ercole Palmeri
Ransomware ya mamaye labarai tsawon shekaru biyu da suka gabata. Yawancin mutane sun san cewa hare-haren…
An yi aikin tiyatar ido ta amfani da mai kallon kasuwanci na Apple Vision Pro a Catania Polyclinic…
Haɓaka ingantattun ƙwarewar motsa jiki ta hanyar canza launi yana shirya yara don ƙarin ƙwarewar ƙwarewa kamar rubutu. Don launi…
Sashin jiragen ruwa na gaskiya ne na tattalin arzikin duniya, wanda ya zagaya zuwa kasuwa biliyan 150 ...
A ranar Litinin da ta gabata, Financial Times ta sanar da yarjejeniya tare da OpenAI. FT ta ba da lasisin aikin jarida na duniya…
Miliyoyin mutane suna biyan sabis na yawo, suna biyan kuɗin biyan kuɗi na wata-wata. Ra'ayi ne na kowa cewa ku…
Coveware ta Veeam zai ci gaba da ba da sabis na amsa abin da ya faru ta hanyar intanet. Coveware zai ba da damar bincikar bincike da damar gyarawa…
Kulawa da tsinkaya yana kawo sauyi a fannin mai & iskar gas, tare da sabbin hanyoyin kula da tsirrai.…