Mae'r llwybr yn ffordd o greu URL cais ar gyfer eich cais. Nid oes angen i'r URLau hyn fod yn gysylltiedig â ffeiliau penodol ar wefan ac maent yn ddarllenadwy gan bobl ac yn gyfeillgar i SEO.
Yn Laravel, mae llwybrau'n cael eu creu y tu mewn i'r ffolder le routes
. Maent yn cael eu creu yn y ffeil web.php
ar gyfer gwefannau, ac o fewn api.php
ar gyfer APIs.
Rhain route
yn cael eu neilltuo i'r grŵp middleware
rhwydwaith, gan amlygu statws sesiwn a diogelwch CSRF
. Y llwybrau i mewn route/api.php
maent yn ddi-wladwriaeth ac yn cael eu neilltuo i'r grŵp nwyddau canol API.
Y rhagosodiaddefiDaw Laravel nita gyda dau lwybr, un ar gyfer y we ac un ar gyfer yr API. Dyma sut olwg sydd ar y llwybr ar gyfer y we web.php
:
Route::get('/', function () {
return view('welcome');
});
Mae holl lwybrau Laravel yn definiti yn y ffeiliau llwybr sydd wedi'u lleoli yn y cyfeiriadur routes
. Y cais rheoli llwybr, definished yn y ffeil App\Providers\RouteServiceProvider
, yn gofalu am leinio'r ffeiliau hyn yn awtomatig. Y ffeil route/web.php
definihes y llwybrau ar gyfer eich rhyngwyneb gwe.
Mae'n bosibl definish llwybr ar gyfer gweithredu'r rheolydd hwn fel a ganlyn:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: y dull Route::resource
yn cynhyrchu'r holl lwybrau sylfaenol sy'n ofynnol ar gyfer cais ac yn cael ei reoli trwy'r dosbarth rheolydd.
Pan fydd cais yn cyfateb i'r llwybr URI penodedig, defnyddir y dull show
defigorffen yn y rheolydd App\Http\ControllersUserController
, gan basio'r paramedrau llwybr i'r dull.
Ar gyfer adnoddau, mae angen i chi wneud dau beth ar y cais Laravel. Yn gyntaf, mae angen i chi greu llwybr adnoddau ymlaen Laravel sy'n darparu mewnosod, diweddaru, gweld a dileu llwybrau. Yn ail, creu rheolydd adnoddau sy'n darparu dull ar gyfer mewnosod, diweddaru, gwylio, a dileu.
Y rhagosodiaddefiDaw Laravel nita gyda dau lwybr: un ar gyfer y we ac un ar gyfer yr API. Dyma sut olwg sydd ar y llwybr i'r we yn web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Llestri Canolog Laravel yn gweithredu fel pont rhwng y cais a'r ymateb. Gall fod yn rhyw fath o gydran hidlo.
Laravel gweithio gyda a llestri canol sydd â'r dasg o gadarnhau a yw cais y cleient wedi'i wirio ai peidio. Rhag ofn y bydd y cleient yn cael ei gadarnhau, yna llwybro ailgyfeiriadau i'r dudalen gartref neu dudalen mewngofnodi.
route
Y cod blaenorol definishes llwybr i'r hafan. Pryd bynnag y bydd y llwybr hwn yn derbyn cais get
y /
, bydd dychwelyd y view
welcome
.
Mae holl lwybrau Laravel yn definiti yn eich routing
, sydd wedi'u lleoli y tu mewn i'r cyfeiriadur dei routes
. O ganlyniad, l'AppProvidersRouteServiceProvider
o'r cais yn llinellu'r cofnodion hyn. Y ffeil route/web.php
yn cynnwys y llwybrau sy'n cael eu rheoli ar gyfer eich rhyngwyneb gwe.
Mae strwythur y llwybr yn syml iawn. Agorwch y ffeil briodol (`web.php
` o `api.php
` ) a dechrau llinell y cod gyda `Route:: `
, ac yna'r cais yr ydych am ei aseinio i'r llwybr penodol hwnnw ac yna nodi'r swyddogaeth a fydd yn cael ei chyflawni yn dilyn y cais.
Mae Laravel yn cynnig y dulliau llwybr canlynol:
get
post
put
delete
patch
options
Mae'r llwybrau yn defiwedi'i nodi yn Laravel o fewn y dosbarth Llwybr gyda HTTP, y llwybr i ymateb iddo a'r cau, neu'r rheolydd.
Gadewch i ni weld sut y gallwch chi greu eich llwybrau eich hun yn Laravel.
Nawr rydw i'n mynd i greu llwybr sylfaenol a fydd yn argraffu tabl amseroedd 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Yn y cod uchod, creais lwybr cais GET ar gyfer yr URL /table
, a fydd yn argraffu tabl amseroedd 2 ar y sgrin.
Nawr, gadewch i ni weld yr un cod, gan baramedroli'r rhif yr ydym am gael y tabl lluosi ar ei gyfer:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Yn y cod mae'rnumber
' rhwng y braces yn cynrychioli'r paramedr, h.y. y rhif y bydd y tabl lluosi yn cael ei gyfrifo ar ei gyfer. Pryd bynnag y nodir URL o'r math /table/n
, yna bydd y tabl rhif yn cael ei argraffu n
.
Mae yna hefyd ffordd i gyfuno'r ddwy nodwedd mewn un llwybr. Mae Laravel yn cynnig y nodwedd paramedrau dewisol sy'n eich galluogi i ychwanegu paramedrau dewisol gan ddefnyddio'r marc cwestiwn '?' ar ôl y paramedr dewisol a'r gwerth cyndefinit. Gadewch i ni weld yr enghraifft:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Yn y cod uchod fe wnaethom greu ein paramedr llwybr, gan wneud y rhif yn ddewisol, felly os yw defnyddiwr yn llwybro `/table
` yna bydd yn cynhyrchu tabl 2 yn ddiofyndefinite ac os yw defnyddiwr yn llwybrau i `/table/{number}
Yna y tabl rhif 'number'
bydd yn cael ei gynhyrchu.
Yn yr enghraifft flaenorol fe wnaethom greu llwybr ar gyfer cynhyrchu'r tabl lluosi, ond sut allwn ni sicrhau bod paramedr y llwybr mewn gwirionedd yn rhif, er mwyn osgoi gwallau wrth gynhyrchu'r tabl lluosi?
Yn Laravel, gallwch chi defigosod cyfyngiad ar baramedr y llwybr gan ddefnyddio'r dull `where
` ar yr enghraifft llwybr. Mae'r `where
` yn cymryd enw'r paramedr a mynegiant rheolaidd ar gyfer y paramedr hwnnw.
Nawr gadewch i ni weld enghraifft o gyfyngiad ar gyfer ein ` paramedr{numero}
` i sicrhau mai dim ond rhif sy'n cael ei drosglwyddo i'r ffwythiant.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Yn y cod uchod, defnyddiasom fynegiad rheolaidd ar gyfer rhif y llwybr. Nawr, os yw defnyddiwr yn ceisio llwybro i /bwrdd/na bydd yn cael ei arddangos eithriad NotFoundHttpException.
Yn Laravel, gallwch chi definish dull Rheolydd ar gyfer llwybr. Mae dull rheolydd yn cyflawni pob gweithred definite bob tro y bydd defnyddiwr yn cyrchu'r llwybr.
Gyda'r cod canlynol rydym yn aseinio'r dull rheolydd 'functionname'
i lwybr:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Mae'r cod yn dechrau gyda `Route::`
ac felly definihes y dull cais ar gyfer y llwybr. Yn dilyn hynny, defiGorffennwch eich llwybr a'ch rheolydd ynghyd â'r dull trwy ychwanegu'r symbol @ cyn enw'r dull.
Yn Laravel, gallwch chi definish enw ar dy lwybr. Mae'r enw hwn yn aml yn ddefnyddiol iawn. Er enghraifft, os ydych chi am ailgyfeirio defnyddiwr o un lleoliad i'r llall, nid oes rhaid i chi definish yr URL ailgyfeirio llawn. Gallwch chi roi ei enw yn unig. Gallwch chi definish enw'r llwybr gan ddefnyddio'r dull `name
` yn yr enghraifft llwybr.
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’);
Nawr, gallwn i adfywio'r url ar gyfer y llwybr hwn, trwy'r cod canlynol:
$url = route('table');
Yn yr un modd, ar gyfer ailgyfeirio i'r URL hwn, y gystrawen gywir fyddai:
return redirect()->route('table');
Route Groups
I Route Groups
, yn llythrennol grwpiau llwybr, yn nodwedd hanfodol yn Laravel, sy'n eich galluogi i grwpio llwybrau. Mae grwpiau llwybr yn ddefnyddiol pan fyddwch am gymhwyso priodoleddau i bob llwybr wedi'i grwpio. Os ydych chi'n defnyddio grwpiau llwybrau, nid oes rhaid i chi gymhwyso'r priodoleddau'n unigol i bob llwybr; mae hyn yn osgoi dyblygu. Mae'n caniatáu ichi rannu priodoleddau fel middleware
o namespaces
, heb defigorffen y priodoleddau hyn ar bob llwybr unigol. Gellir trosglwyddo'r priodoleddau a rennir hyn mewn fformat arae fel y paramedr cyntaf i'r dull Route::group
.
Cystrawen Grŵp Llwybr
Route::group([], callback);
colomen []: yn arae a drosglwyddir i'r dull grŵp fel y paramedr cyntaf.
Enghraifft o Route Group
yn gwe.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" ;
});
});
Yn y cod, defigadewch i ni ddod o hyd i'r dull grŵp (), sy'n cynnwys y ddau baramedr, h.y array
e closure
. Y tu mewn i'r closure
, gallwn defigorffen faint route
dymunwn. Yn y cod uchod, mae gennym ni defigorffen tri route
.
Os trwy borwr rydym yn cyrchu'r URL localhost/myproject/first
yna mae'r cyntaf yn ymyrryd route
teipio yn y porwr first way route
.
Gyda'r URL localhost/myproject/second
yna daw yr ail route
teipio yn y porwr second way route
.
Tra gyda'r URL localhost/myproject/third
yna daw y trydydd route
teipio yn y porwr third way route
.
Route Groups
Mae rhagddodiaid o route
fe'u defnyddir pan fyddwn am ddarparu strwythur URL sy'n gyffredin i luosog route
.
Gallwn nodi'r rhagddodiad ar gyfer pob llwybr definites o fewn y grŵp gan ddefnyddio'r opsiwn arae rhagddodiad yn Route Groups
.
Enghraifft o 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";
});
});
Mae'r cod yn cynnwys tri llwybr y gellir eu cyrchu o'r URLs canlynol:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Gallwn hefyd neilltuo nwyddau canol i bob llwybr o fewn grŵp. Rhaid i'r llestri canol fod defigorffen cyn creu'r grŵp. I weld sut i wneud hyn, darllenwch ein herthygl Laravel middleware sut mae'n gweithio.
enghraifft:
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";
});
});
Y dull name
yn cael ei ddefnyddio i ragddodi pob enw o route
gyda llinyn penodedig. Yn y dull name
, mae angen i ni nodi'r llinyn gyda chymeriad llusgo yn y rhagddodiad.
enghraifft web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Bydd Coveware gan Veeam yn parhau i ddarparu gwasanaethau ymateb i ddigwyddiadau cribddeiliaeth seiber. Bydd Coveware yn cynnig galluoedd fforensig ac adfer…
Mae gwaith cynnal a chadw rhagfynegol yn chwyldroi'r sector olew a nwy, gyda dull arloesol a rhagweithiol o reoli planhigion.…
Mae CMA y DU wedi cyhoeddi rhybudd am ymddygiad Big Tech yn y farchnad deallusrwydd artiffisial. Yno…
Mae'r Archddyfarniad "Achos Gwyrdd", a luniwyd gan yr Undeb Ewropeaidd i wella effeithlonrwydd ynni adeiladau, wedi dod â'i broses ddeddfwriaethol i ben gyda…