Artikel

Laravel: introduksi kanggo laravel routing

Nuntun ing Laravel ngidini pangguna ngarahake kabeh panjaluk aplikasi menyang pengontrol sing cocog. Umume rute utama ing Laravel ngenali lan nampa Uniform Asset Identifier bebarengan karo penutupan, nyedhiyakake rute sing gampang lan ekspresif.

Apa iku rute (rute)?

Path minangka cara kanggo nggawe URL panjalukan kanggo aplikasi sampeyan. URL kasebut ora perlu digandhengake karo file tartamtu ing situs web lan bisa diwaca manungsa lan ramah SEO.

Ing Laravel, path digawe ing folder le routes. Padha digawe ing file web.php kanggo situs web, lan ing api.php kanggo API.

Iki route ditugasake ing grup middleware jaringan, nyorot status sesi lan keamanan CSRF. Rute ing route/api.php lagi stateless lan diutus kanggo grup middleware API.
Pra-instalasidefiLaravel nita dilengkapi rong jalur, siji kanggo web lan siji kanggo API. Iki minangka path kanggo web ing katon web.php:

Route::get('/', function () {
   return view('welcome');
});

Apa rute ing Laravel?

Kabeh jalur Laravel definiti ing file path sing ana ing direktori routes. Aplikasi manajemen rute, defidilebokake ing file App\Providers\RouteServiceProvider, ngurus file kasebut kanthi otomatis. File kasebut route/web.php definishes path kanggo antarmuka web sampeyan.

Iku bisa definish path kanggo tumindak controller iki minangka nderek:

Route::get(‘user/{id}’, ‘UserController@show’);

Route::resource: metode Route::resource mrodhuksi kabeh path dhasar dibutuhake kanggo aplikasi lan ngatur liwat kelas controller.

Nalika panjalukan cocog karo URI rute sing ditemtokake, metode kasebut dijaluk show defirampung ing controller App\Http\ControllersUserController, ngliwati paramèter rute menyang cara.

Kanggo sumber daya, sampeyan kudu nindakake rong perkara ing aplikasi kasebut Laravel. Pisanan, sampeyan kudu nggawe path sumber daya ing Laravel sing nyedhiyakake sisipan, nganyari, ndeleng lan mbusak path. Kapindho, gawe pengontrol sumber daya sing nyedhiyakake cara kanggo nglebokake, nganyari, ndeleng, lan mbusak.

Pra-instalasidefiLaravel nita dilengkapi rong jalur: siji kanggo web lan siji kanggo API. Mangkene carane rute menyang web ing web.php:

Route::get(‘/’, function () {

return view(‘welcome’);

});

Laravel Middleware tumindak minangka jembatan antarane request lan reaksi. Bisa dadi sawetara jinis komponèn Filter.

Laravel nggarap a piranti tengah sing nduweni tugas kanggo konfirmasi apa aplikasi klien wis diverifikasi utawa ora. Yen klien wis dikonfirmasi, banjur nuntun pangalihan menyang kaca ngarep utawa kaca login.

Metode kanggo route

Kode sadurunge definishes path menyang kaca ngarep. Kapan rute iki nampa panjalukan get saben /, bakal bali ing view welcome

Kabeh jalur Laravel definiti ing Panjenengan routing, sing ana ing direktori dei routes. Akibate, l'AppProvidersRouteServiceProvider saka aplikasi baris munggah cathetan iki. File kasebut route/web.php ngemot rute sing dikelola kanggo antarmuka web sampeyan.

Struktur path banget prasaja. Bukak file sing cocog (`web.phpo `api.php) lan miwiti baris kode karo `Route:: `, ngiring dening panjalukan sing pengin diwènèhaké menyang rute tartamtu lan banjur nemtokake fungsi sing bakal dileksanakake sawise panjalukan.

Laravel nawakake cara path ing ngisor iki:

  • get
  • post
  • put
  • delete
  • patch
  • options

Dalane yaiku defiNited ing Laravel ing kelas Route karo HTTP, rute kanggo reply lan cedhak, utawa controller.

Cara nggawe path ing Laravel

Ayo ndeleng carane sampeyan bisa nggawe dalan dhewe ing Laravel.

A path GET dhasar

Saiki aku bakal nggawe path dhasar sing bakal nyithak tabel kaping 2.

Route::get('/table', function () {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * 2 = ". $i*2 ."<br>";
   }   
});

Ing kode ing ndhuwur, aku nggawe path request GET kanggo URL /table, sing bakal nyithak tabel kaping 2 ing layar.

Saiki ayo ndeleng kode sing padha, parameterisasi nomer sing pengin tabel perkalian:

Route::get('/table/{number}', function ($number) {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * $number = ". $i* $number ."<br>";
   }   
});

Ing kode 'number' antarane braces nggantosi paramèter, IE nomer sing tabel multiplikasi bakal diwilang. Kapan URL saka jinis kasebut ditemtokake /table/n, banjur tabel nomer bakal dicithak n.

Ana uga cara kanggo nggabungake loro fitur ing siji dalan. Laravel nawakake fitur paramèter opsional sing ngidini sampeyan nambah paramèter opsional nggunakake tandha pitakon '?' sawise parameter opsional lan nilai pradefibengi. Ayo ndeleng contone:

Route::get('/table/{number?}', function ($number = 2) {
   for($i =1; $i <= 10 ; $i++){
       echo "$i * $number = ". $i* $number ."<br>";
   }   
});

Ing kode ndhuwur kita digawe parameter route kita, nggawe nomer opsional, supaya yen pangguna rute `/table` banjur bakal ngasilake tabel 2 kanthi standardefinite lan yen pangguna rute menyang `/table/{number}Banjur meja nomer 'number' bakal diprodhuksi.

Ekspresi reguler minangka watesan kanggo paramèter rute

Ing conto sadurunge kita digawe path kanggo ngasilaken Tabel pingan, nanging carane kita bisa mesthekake yen parameter path bener nomer, supaya kasalahan nalika ngasilaken tabel pingan?

Ing Laravel, sampeyan bisa defingrampungake kendala ing parameter rute nggunakake metode `where` ing conto rute. Ing `where` njupuk jeneng parameter lan ekspresi reguler kanggo parameter kasebut.

newsletter inovasi
Aja kantun warta paling penting babagan inovasi. Mlebu kanggo nampa wong-wong mau liwat email.

Saiki ayo ndeleng conto kendala kanggo parameter ` kita{numero}` kanggo mesthekake yen mung nomer sing dilewati menyang fungsi kasebut.

Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {    
   for( $i = 1 ; $i < = 10 ; $i + + ) {   
       echo "$i * $numero = " . $i * $numero . "<br>" ; 
   }   
} )->where( 'numero' , '[0-9]+' ) ;

Ing kode ndhuwur, kita digunakake expression biasa kanggo nomer path. Saiki, yen pangguna nyoba rute menyang /meja/no bakal ditampilake pangecualian NotFoundHttpException.

Routing Laravel kanthi fungsi kontrol

Ing Laravel, sampeyan bisa definish cara Controller kanggo rute. Cara pengontrol nindakake kabeh tumindak defibengi saben pangguna ngakses rute kasebut.
Kanthi kode ing ngisor iki, kita nemtokake cara pengontrol 'functionname' menyang rute:

Route:: get ( '/home' , 'YourController@functionname' ) ;

Kode diwiwiti karo `Route::` lan mulane definishes cara request kanggo path. Salajengipun, defiRampung dalan lan pengontrol bebarengan karo metode kanthi nambahake simbol @ sadurunge jeneng metode.

Menehi jeneng path

Ing Laravel, sampeyan bisa definish jeneng kanggo dalan sampeyan. Jeneng iki asring banget migunani. Contone, yen sampeyan pengin ngarahake pangguna saka siji lokasi menyang lokasi liyane, sampeyan ora perlu definish URL pangalihan lengkap. Sampeyan mung bisa menehi jeneng. Sampeyan bisa definish jeneng rute nggunakake metode `name` ing 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’);

Saiki, aku bisa nggawe maneh url kanggo path iki, liwat kode ing ngisor iki:

$url = route('table');

Kajaba iku, kanggo pangalihan menyang URL iki, sintaks sing bener yaiku:

return redirect()->route('table');

Route Groups

I Route Groups, secara harfiah path grup, minangka fitur penting ing Laravel, sing ngijini sampeyan kanggo grup path. Grup path migunani yen sampeyan pengin ngetrapake atribut menyang kabeh jalur sing dikelompokake. Yen sampeyan nggunakake grup path, sampeyan ora kudu aplikasi atribut individu kanggo saben path; iki supaya duplikasi. Ngidini sampeyan nuduhake atribut kaya middleware o namespaces, rasane defingrampungake atribut kasebut ing saben path individu. Atribut sing dienggo bareng iki bisa dilewati ing format array minangka parameter pisanan kanggo metode kasebut Route::group.

Syntax of a Route Group

Route::group([], callback);  

manuk dara []: yaiku array sing diterusake menyang metode grup minangka parameter pisanan.

Tuladha saka 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" ;   
   });  
});  

Ing kode, defiayo golek cara klompok(), kang ngandhut loro paramèter, i.e array e closure. Ing njero closure, kita bisa defirampung pira route kita pengin. Ing kode ndhuwur, kita duwe defirampung telu route.

Yen liwat browser kita ngakses URL localhost/myproject/first banjur sing pisanan campur tangan route ngetik ing browser first way route.

Kanthi URL localhost/myproject/second banjur teka kapindho route ngetik ing browser second way route.

Nalika karo URL localhost/myproject/third banjur teka katelu route ngetik ing browser third way route.

Ater-ater saka Route Groups

Ater-ater saka route digunakake nalika kita pengin nyedhiyakake struktur URL sing umum kanggo macem-macem route.

Kita bisa nemtokake awalan kanggo kabeh path definites ing grup nggunakake pilihan array awalan ing Route Groups.

Tuladha saka 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";  
   });  
});  

Kode kasebut ngemot telung jalur sing bisa diakses saka URL ing ngisor iki:

/movie/godfather  --->   Godfather casting

/movie/pulpfiction  --->   Pulp Fiction casting

/movie/forrestgump  --->   Forrest Gump casting

Jaman Tengah

Kita uga bisa nemtokake middleware kanggo kabeh rute ing grup. Middleware kudu defirampung sadurunge nggawe grup. Kanggo ndeleng carane nindakake iki, waca artikel kita Laravel middleware cara kerjane.

Conto:

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";  
   });  
  
});  

Ater-ater jeneng path

Caranipun name digunakake kanggo ater-ater saben jeneng route kanthi senar sing ditemtokake. Ing cara name, kita kudu nemtokake senar kanthi karakter mburine ing awalan.

contone web.php

Route::name('movie.')->group(function()  
{  
   Route::get('users', function()  
   {  
      return "movie.films";  
   })->name('films');  
});  

Ercole Palmeri

newsletter inovasi
Aja kantun warta paling penting babagan inovasi. Mlebu kanggo nampa wong-wong mau liwat email.

Artikel anyar

Masa Depan Iki: Kepiye Industri Pengiriman Revolusi Ekonomi Global

Sektor angkatan laut minangka kekuwatan ekonomi global sing sejatine, sing wis ngarahake pasar 150 milyar ...

1 May 2024

Penerbit lan OpenAI menehi tandha persetujuan kanggo ngatur aliran informasi sing diproses dening Artificial Intelligence

Senin kepungkur, Financial Times ngumumake kesepakatan karo OpenAI. FT menehi lisensi jurnalisme kelas donya…

30 April 2024

Pembayaran Online: Mangkene Kepiye Layanan Streaming Nggawe Sampeyan Mbayar Selawase

Mayuta-yuta wong mbayar layanan streaming, mbayar biaya langganan saben wulan. Umume pendapat yen sampeyan…

29 April 2024

Veeam nduweni dhukungan paling lengkap kanggo ransomware, saka proteksi nganti respon lan pemulihan

Coveware dening Veeam bakal terus nyedhiyakake layanan respon insiden pemerasan cyber. Coveware bakal nawakake kemampuan forensik lan remediasi…

23 April 2024