Jalurna mangrupikeun cara pikeun nyiptakeun URL pamundut pikeun aplikasi anjeun. URL ieu henteu kedah dikaitkeun sareng file khusus dina halaman wéb sareng tiasa dibaca manusa sareng ramah SEO.
Dina Laravel, jalur dijieun di jero folder le routes
. Éta dijieun dina file web.php
pikeun situs web, sarta dina api.php
pikeun API.
Ieu route
ditugaskeun ka grup middleware
jaringan, panyorot status sési jeung kaamanan CSRF
. Rute di route/api.php
aranjeunna stateless sarta ditugaskeun ka grup middleware API.
Pra-instalasidefiLaravel nita hadir sareng dua jalur, hiji pikeun wéb sareng hiji pikeun API. Ieu kumaha jalan pikeun web di Sigana mah web.php
:
Route::get('/', function () {
return view('welcome');
});
Sadaya jalur Laravel nyaéta definiti dina file jalur anu aya dina diréktori routes
. Aplikasi manajemén rute, defidisimpen dina file App\Providers\RouteServiceProvider
, ngurus otomatis ngajajar file ieu. The file route/web.php
definishes jalur pikeun panganteur wéb anjeun.
Éta tiasa definish jalur pikeun aksi controller ieu saperti kieu:
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: métode Route::resource
ngahasilkeun sakabéh jalur dasar diperlukeun pikeun aplikasi tur dikokolakeun ngaliwatan kelas controller.
Lamun pamundut cocog URI ruteu dieusian, metoda ieu invoked show
defiréngsé dina controller App\Http\ControllersUserController
, ngalirkeun parameter route ka métode.
Pikeun sumber, anjeun kedah ngalakukeun dua hal dina aplikasi Laravel. Kahiji, anjeun kudu nyieun jalur sumberdaya on Laravel nu nyadiakeun sisipan, update, nempo tur mupus jalur. Kadua, jieun hiji controller sumberdaya nu nyadiakeun metoda pikeun inserting, ngamutahirkeun, nempo, jeung mupus.
Pra-instalasidefiLaravel nita hadir sareng dua jalur: hiji pikeun wéb sareng hiji pikeun API. Ieu kumaha rute ka wéb dina web.php:
Route::get(‘/’, function () {
return view(‘welcome’);
});
Laravel Middleware tindakan minangka sasak antara pamundut jeung réaksi. Bisa jadi sababaraha jenis komponén filter.
Laravel gawé bareng a middleware anu ngagaduhan tugas pikeun ngonfirmasi naha aplikasi klien diverifikasi atanapi henteu. Upami klien dikonfirmasi, teras routing dialihkeun ka halaman bumi atanapi halaman login.
route
Kode saméméhna definishes jalur ka kaca imah. Iraha waé jalur ieu nampi pamundut get
per /
, bakal mulang ka view
welcome
.
Sadaya jalur Laravel nyaéta definiti di anjeun routing
, nu lokasina di jero diréktori dei routes
. Akibatna, l'AppProvidersRouteServiceProvider
tina aplikasi baris nepi rékaman ieu. The file route/web.php
ngandung ruteu anu dikokolakeun pikeun antarmuka wéb anjeun.
Struktur jalur basajan pisan. Buka file anu cocog (`web.php
` o `api.php
` ) tur mimitian garis kode kalawan `Route:: `
, dituturkeun ku pamundut nu Anjeun hoyong napelkeun kana éta jalur husus lajeng tangtukeun pungsi nu bakal dipigawé nuturkeun pamundut nu.
Laravel nawiskeun metode jalur ieu:
get
post
put
delete
patch
options
Jalur anu defiNited di Laravel dina kelas Rute kalawan HTTP, jalur pikeun reply kana jeung nutup, atawa controller.
Hayu urang tingali kumaha anjeun tiasa nyiptakeun jalur anjeun nyalira di Laravel.
Ayeuna kuring badé nyiptakeun jalur dasar anu bakal nyitak tabel waktos 2.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
Dina kode di luhur, kuring nyiptakeun jalur pamundut GET pikeun URL /table
, anu bakal nyitak tabel kali 2 dina layar.
Ayeuna hayu urang tingali kodeu sarua, parameterizing jumlah nu urang hoyong tabel multiplication:
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Dina kodeu 'number
' antara braces ngagambarkeun parameter, nyaéta jumlah nu tabel multiplication bakal diitung. Iraha waé URL jinisna ditetepkeun /table/n
, lajeng tabel angka bakal dicitak n
.
Aya ogé cara pikeun ngagabungkeun duanana fitur dina hiji jalur. Laravel nawiskeun fitur parameter opsional anu ngamungkinkeun anjeun nambihan parameter opsional nganggo tanda tanya '?' sanggeus parameter pilihan jeung nilai pradefipeuting. Hayu urang tingali conto:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
Dina kode di luhur urang dijieun parameter route urang, nyieun angka pilihan, jadi lamun hiji pamaké ruteu `/table
` mangka bakal ngahasilkeun tabel 2 sacara standardefinite sareng upami pangguna nuju ka `/table/{number}
Lajeng tabel angka 'number'
bakal dihasilkeun.
Dina conto saméméhna kami dijieun jalur pikeun generating tabel multiplication, tapi kumaha urang bisa mastikeun yén parameter jalur sabenerna ngarupakeun angka, pikeun nyegah kasalahan nalika ngahasilkeun tabel multiplication?
Dina Laravel, anjeun tiasa definish hiji konstrain dina parameter route ngagunakeun métode `where
` dina conto rute. The `where
` nyandak nami parameter sareng ekspresi biasa pikeun parameter éta.
Ayeuna hayu urang tingali conto konstrain pikeun `parameter urang{numero}
` pikeun mastikeun yén ngan ukur nomer anu dikirimkeun kana fungsina.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
Dina kode di luhur, kami nganggo ekspresi biasa pikeun nomer jalur. Ayeuna, upami pangguna nyobian rute ka /meja/no bakal dipintonkeun iwal NotFoundHttpException.
Dina Laravel, anjeun tiasa definish metoda Controller pikeun ruteu. Hiji métode controller ngalakukeun sagala lampah defipeuting unggal pamaké ngakses ruteu.
Kalayan kode di handap ieu kami napelkeun metodeu controller 'functionname'
ka jalur:
Route:: get ( '/home' , 'YourController@functionname' ) ;
Kode dimimitian ku `Route::`
lajeng definishes metoda pamundut pikeun jalur. Saterasna, defiRengse jalur anjeun sarta controller sapanjang kalawan métode ku nambahkeun simbol @ saméméh ngaran métode.
Dina Laravel, anjeun tiasa definish ngaran pikeun jalan Anjeun. Ngaran ieu sering pisan mangpaat. Contona, upami anjeun hoyong alihan pamaké ti hiji lokasi ka lokasi sejen, anjeun teu kudu definish URL alihan lengkep. Anjeun ngan bisa masihan ngaranna. Anjeun tiasa definish nami rute nganggo metode `name
` dina conto rute.
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’);
Ayeuna, kuring tiasa ngadamel deui url pikeun jalur ieu, ngalangkungan kodeu ieu:
$url = route('table');
Nya kitu, pikeun alihan ka URL ieu, sintaksis anu bener bakal:
return redirect()->route('table');
Route Groups
I Route Groups
, sacara harfiah grup jalur, mangrupa fitur penting dina Laravel, nu ngidinan Anjeun pikeun grup jalur. Grup jalur mangpaat nalika anjeun hoyong nerapkeun atribut ka sadaya jalur anu dikelompokkeun. Lamun make grup jalur, anjeun teu kudu nerapkeun atribut individual pikeun tiap jalur; ieu nyegah duplikasi. Eta ngidinan Anjeun pikeun babagi atribut kawas middleware
o namespaces
, sesah defirengse atribut ieu dina unggal jalur individu. Atribut anu dibagikeun ieu tiasa disalurkeun dina format Asép Sunandar Sunarya salaku parameter munggaran pikeun metodeu Route::group
.
Sintaksis Grup Rute
Route::group([], callback);
japati []: mangrupa Asép Sunandar Sunarya dibikeun ka metoda grup salaku parameter munggaran.
Conto tina Route Group
nel wéb.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" ;
});
});
Dina kode, defihayu urang manggihan metoda golongan(), nu ngandung dua parameter, i.e array
e closure
. Di jero closure
, urang tiasa defirengse sabaraha route
urang hayang. Dina kode di luhur, urang boga defiréngsé tilu route
.
Lamun ngaliwatan browser urang ngakses URL localhost/myproject/first
tuluy nu kahiji campur route
ngetik dina browser first way route
.
Kalayan URL localhost/myproject/second
lajeng datang kadua route
ngetik dina browser second way route
.
Bari jeung URL localhost/myproject/third
lajeng datang katilu route
ngetik dina browser third way route
.
Route Groups
Prefiks tina route
aranjeunna dipaké nalika urang rék nyadiakeun struktur URL umum pikeun sababaraha route
.
Urang bisa nangtukeun awalan pikeun sakabéh jalur definites dina grup ngagunakeun pilihan susunan awalan di Route Groups
.
Conto tina 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";
});
});
Kodeu ngandung tilu jalur anu tiasa diaksés tina URL di handap ieu:
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
Urang ogé bisa napelkeun middleware ka sadaya ruteu dina grup. middleware kudu defiréngsé saméméh nyieun grup. Pikeun ningali kumaha ngalakukeun ieu, baca tulisan kami Laravel middleware kumaha gawéna.
contona:
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";
});
});
Cara na name
dipaké pikeun awalan unggal ngaran route
kalawan string husus. Dina métode name
, urang kudu nangtukeun string kalawan karakter labuh dina awalan.
conto web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
Ngembangkeun kaahlian motorik halus ngaliwatan ngawarnaan nyiapkeun barudak pikeun kaahlian leuwih kompleks kawas nulis. Pikeun ngawarnaan…
Sektor angkatan laut mangrupikeun kakuatan ékonomi global anu leres, anu nuju ka arah pasar 150 milyar ...
Senén kamari, Financial Times ngumumkeun deal sareng OpenAI. FT ngalisensikeun jurnalisme kelas dunya na…
Jutaan jalma mayar jasa streaming, mayar biaya langganan bulanan. Pendapat umum yén anjeun…