Umendo yindlela yokwenza isicelo se-URL yesicelo sakho. Ezi URL akudingeki ukuba zidibaniswe neefayile ezithile kwiwebhusayithi kwaye zifundeka ngabantu kunye ne-SEO friendly.
KwiLaravel, iindlela zenziwe ngaphakathi kwifolda ye routes
. Zenziwe kwifayile web.php
kwiiwebhusayithi, nangaphakathi api.php
ye-APIs.
Ezi route
zabelwe iqela middleware
womnatha, ukugqamisa ubume beseshoni kunye nokhuseleko CSRF
. Iindlela zokungena route/api.php
azinabume kwaye zabelwe kwiqela le-API middleware.
Ufakelo lwangaphambilidefiILaravel nita iza neendlela ezimbini, enye yewebhu kunye neye-API. Le yindlela ejongeka ngayo kwiwebhu web.php
:
Route::get('/', function () {
return view('welcome');
});
Zonke iindlela zeLaravel zikhona definiti kwiifayile zomendo ezibekwe ngaphakathi kulawulo routes
. Isicelo solawulo lwendlela, defiifakwe kwifayile App\Providers\RouteServiceProvider
, ithatha inkathalo yokuzenzela umgca ezi fayile. Ifayile route/web.php
defiIvala iindlela zojongano lwakho lwewebhu.
È ukubonakala defiNish umendo wesi senzo somlawuli ngolu hlobo lulandelayo:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: indlela Route::resource
ivelisa zonke iindlela ezisisiseko ezifunekayo kwisicelo kwaye ilawulwa ngodidi lomlawuli.
Xa isicelo sihambelana nendlela ekhankanyiweyo ye-URI, indlela iyabhengezwa show
defiigqitywe kwisilawuli App\Http\ControllersUserController
, ukudlulisa iiparamitha zendlela kwindlela.
Kwizibonelelo, kufuneka wenze izinto ezimbini kwisicelo Laravel. Okokuqala, kufuneka udale indlela yemithombo Laravel ebonelela ngokufaka, ukuhlaziya, ukujonga kunye nokucima iindlela. Okwesibini, yenza isilawuli semithombo esinika indlela yokufaka, ukuhlaziya, ukujonga, kunye nokucima.
Ufakelo lwangaphambilidefiILaravel nita iza neendlela ezimbini: enye yewebhu kunye neye-API. Nantsi indlela eya kwiwebhu ekhangeleka ngayo kwi-web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
ILaravel Middleware isebenza njengebhulorho phakathi kwesicelo kunye nempendulo. Isenokuba luhlobo oluthile lwecandelo lokucoca.
Laravel sebenza nge izixhobo zombindi onomsebenzi wokuqinisekisa ukuba isicelo somxhasi siqinisekisiwe na okanye hayi. Kwimeko apho umxhasi uqinisekisiwe, emva koko indlela iphinda iqondise kwiphepha lasekhaya okanye iphepha lokungena.
route
Ikhowudi yangaphambili defiIvula indlela eya kwiphepha lasekhaya. Nanini na xa le ndlela ifumana isicelo get
nganye /
, iya kubuya i view
welcome
.
Zonke iindlela zeLaravel zikhona definithi kuwe routing
, ezibekwe ngaphakathi kulawulo dei routes
. Ngenxa yoko, l'AppProvidersRouteServiceProvider
yesicelo ibeka ezi rekhodi. Ifayile route/web.php
iqulethe iindlela ezilawulwa kujongano lwakho lwewebhu.
Ubume bendlela bulula kakhulu. Vula ifayile efanelekileyo (`web.php
` o `api.php
` ) kwaye uqale umgca wekhowudi nge `Route:: `
, ilandelwa sisicelo ofuna ukusinika loo ndlela ithile kwaye emva koko uchaze umsebenzi oza kwenziwa ngokulandela isicelo.
ILaravel ibonelela ngeendlela ezilandelayo zendlela:
get
post
put
delete
patch
options
Iindlela zi definited eLaravel ngaphakathi kweklasi yeNdlela kunye neHTTP, indlela yokuphendula kunye nokuvala, okanye umlawuli.
Makhe sibone ukuba ungazenza njani iindlela zakho eLaravel.
Ngoku ndizakwenza umendo osisiseko ozakuprinta itheyibhile yamaxesha ka-2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Kule khowudi ingentla, ndenze i-GET indlela yokucela i-URL /table
, eya kuprinta itafile yamaxesha ka-2 kwisikrini.
Ngoku makhe sibone ikhowudi enye, iparametering inani esilifunela lona itheyibhile yophindaphindo:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Kwikhowudi 'number
' phakathi kweebrashi imele iparameter, o.k. inani apho itafile yophinda-phindo iyakubalelwa. Nanini na i-URL yodidi ichaziwe /table/n
, emva koko itafile yeenombolo iya kuprintwa n
.
Kukho nendlela yokudibanisa zombini iimpawu kwindlela enye. ILaravel inika iparameters ezikhethwayo ezikuvumela ukuba udibanise iiparamitha ozikhethelayo usebenzisa uphawu lombuzo '?' emva kweparameter ekhethiweyo kunye nexabiso langaphambilidefingokuhlwa. Makhe sibone umzekelo:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Kwikhowudi engentla senze ipharamitha yendlela yethu, sisenza inani libe likhethe, ngoko ke ukuba umsebenzisi uhola `/table
` emva koko iyakuvelisa itheyibhile yesi-2 ngokungagqibekangadefinite kwaye ukuba umsebenzisi iindlela ukuya `/table/{number}
Emva koko itheyibhile yamanani 'number'
iya kuveliswa.
Kumzekelo wangaphambili senze umendo wokuvelisa itheyibhile yophinda-phindo, kodwa singaqinisekisa njani ukuba iparameter yomendo eneneni linani, ukunqanda iimpazamo xa kusenziwa itafile yophinda-phindo?
KwiLaravel, unako defisusa isithintelo kwindlela yeparameter usebenzisa indlela `where
` kumzekelo wendlela. I`where
` ithatha igama lepharamitha kunye nentetho eqhelekileyo yaloo parameter.
Ngoku makhe sibone umzekelo wesithintelo sethu ` iparamitha{numero}
` ukuqinisekisa ukuba linani kuphela eligqithisiweyo kumsebenzi.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Kule khowudi ingentla, sisebenzise intetho eqhelekileyo yenombolo yendlela. Ngoku, ukuba umsebenzisi uzama indlela eya /itafile/no iya kuboniswa iNotFoundHttpException.
KwiLaravel, unako definish indlela yoMlawuli wendlela. Indlela yokulawula yenza zonke iintshukumo definite ngalo lonke ixesha umsebenzisi efikelela kwindlela.
Ngekhowudi elandelayo sinikezela indlela yomlawuli 'functionname'
ukuya kwindlela:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Ikhowudi iqala ngo `Route::`
kwaye ngoko defiIvala indlela yokucela indlela. Emva koko, defiGqibezela umendo wakho kunye nomlawuli kunye nendlela ngokongeza i-@ isimboli phambi kwegama lendlela.
KwiLaravel, unako defindinike igama lendlela yakho. Eli gama lisoloko liluncedo kakhulu. Umzekelo, ukuba ufuna ukwalathisa umsebenzisi ukusuka kwenye indawo ukuya kwenye, akunyanzelekanga ukuba wenze njalo defiCima i-URL yokuqondisa ngokutsha. Unganika nje igama lakhe. Unga defisusa igama lendlela usebenzisa indlela `name
` kumzekelo wendlela.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
Ngoku, ndingaphinda ndivelise i-url yale ndlela, ngale khowudi ilandelayo:
$url = route('table');
Ngokufanayo, ukuqondisa kwakhona kule URL, ulungelelwaniso oluchanekileyo luya kuba:
return redirect()->route('table');
Route Groups
I Route Groups
, ngokwenyani amaqela eendlela, luphawu oluyimfuneko kwiLaravel, ekuvumela ukuba udibane umendo. Amaqela endlela aluncedo xa ufuna ukufaka iimpawu kuzo zonke iindlela ezidityanisiweyo. Ukuba usebenzisa amaqela eendlela, awunyanzelekanga ukuba usebenzise iimpawu zoyelelwano kumendo ngamnye; oku kuthintela ukuphindaphinda. Ikuvumela ukuba wabelane ngeempawu ezifana middleware
o namespaces
, ngaphandle defiGqibezela ezi mpawu kwindlela nganye. Ezi mpawu ekwabelwana ngazo zinokugqithiswa kwifomati yoluhlu njengeparameter yokuqala kwindlela Route::group
.
ISintaksi yeQela leNdlela
Route::group([], callback);
ihobe []: luluhlu olugqithiselwe kwindlela yeqela njenge parameter yokuqala.
Umzekelo we Route Group
Nel web.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
Kwikhowudi, defimasifumane indlela iqela(), equlethe iiparamitha ezimbini, okt array
e closure
. Ngaphakathi kwi closure
, singa defigqiba ukuba bangaphi route
sifuna. Kule khowudi ingentla, sinayo defibagqibe abathathu route
.
Ukuba ngebrawuza sifikelela kwi-URL localhost/myproject/first
kwandule ke kungenelele owokuqala route
ukuchwetheza kwisikhangeli first way route
.
NgeURL localhost/myproject/second
ize eyesibini route
ukuchwetheza kwisikhangeli second way route
.
Ngelixa une-URL localhost/myproject/third
ize eyesithathu route
ukuchwetheza kwisikhangeli third way route
.
Route Groups
Izimaphambili ze route
zisetyenziswa xa sifuna ukubonelela ngesakhiwo se-URL eqhelekileyo kuphinda-phindo route
.
Singakhankanya isimaphambili sazo zonke iindlela defiunites phakathi kweqela usebenzisa isimaphambili soluhlu ukhetho kwi Route Groups
.
Umzekelo we web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
Ikhowudi iqulethe iindlela ezintathu ezinokufikelelwa kwezi URL zilandelayo:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Singakwazi ukwabela i-middleware kuzo zonke iindlela ngaphakathi kweqela. I-middleware kufuneka ibe defiugqibile phambi kokudala iqela. Ukubona indlela yokwenza oku, funda inqaku lethu I-Laravel middleware isebenza njani.
umzekelo:
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
Indlela name
isetyenziselwa isimaphambili segama ngalinye route
ngomtya ochaziweyo. Kwindlela name
, kufuneka sichaze umtya onomlinganiswa olandelanayo kwisimaphambili.
umzekelo web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Ugcino oluqikelelweyo luguqula icandelo le-oyile negesi, ngenkqubo entsha nesebenzayo kulawulo lwemizi-mveliso.…
I-CMA yase-UK ikhuphe isilumkiso malunga nokuziphatha kweBig Tech kwimarike yobukrelekrele bokwenziwa. Pha…
Umthetho we "Green Houses", oqulunqwe yiManyano yaseYurophu ukomeleza amandla ombane kwizakhiwo, ugqibezele inkqubo yowiso mthetho nge…
Ingxelo yonyaka yeCasaleggio Associati malunga ne-Ecommerce e-Italiya yanikezelwa. Ingxelo enesihloko esithi "AI-Commerce: imida yorhwebo nge-Artificial Intelligence".…