Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan parameter laluan dalam Laravel?

Bagaimana untuk mengesahkan parameter laluan dalam Laravel?

PHPz
PHPzke hadapan
2023-09-01 14:41:06821semak imbas

Bagaimana untuk mengesahkan parameter laluan dalam Laravel?

Dalam Laravel, laluan ditakrifkan dalam laluan/ folder. Laluan ditentukan dalam fail web.php. Fail ini dibuat selepas pemasangan laravel selesai. Penghalaan Laravel menerima URI dan fungsi penutupan seperti yang ditunjukkan di bawah -

use Illuminate\Support\Facades\Route;
Route::get('/student', function () {
   return 'Hello Student';
});

Laluan yang ditakrifkan dalam web/routes.php diberikan kepada kumpulan perisian tengah web, dan mereka Mempunyai keadaan sesi dan perlindungan CSRF. Anda juga boleh memanggil pengawal dalam laluan Seperti yang ditunjukkan di bawah -

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\StudentController;
Route::get('student', [StudentController::class, 'index']);

Berikut ialah kaedah penghalaan yang boleh anda gunakan dalam aplikasi anda:

  • Route::get($ uri, $fungsi panggilan balik atau pengawal);

  • Route::post($uri, $fungsi panggilan balik atau pengawal);

  • Route::put($uri, $fungsi panggilan balik atau pengawal);

  • Route::patch($uri, $fungsi panggilan balik atau pengawal);

  • Route::delete($uri, $fungsi panggilan balik atau pengawal);

  • Route::options($uri, $fungsi panggilan balik atau pengawal);

Pengesahan parameter penghalaan

Parameter laluan disertakan dalam pendakap kerinting dan nama yang diberikan mengandungi aksara abjad angka. Selain aksara abjad angka, anda juga boleh menggunakan garis bawah apabila memilih nama parameter penghalaan.

tatabahasa

Sintaks parameter penghalaan adalah seperti berikut −

Route::get('/user/{myid}', function ($myid) {
   //
});

Di sini myid ialah parameter penghalaan yang ingin kami gunakan selanjutnya.

Parameter penghalaan berbilang

Anda boleh mempunyai berbilang parameter laluan seperti yang ditunjukkan dalam sintaks di bawah.

Route::get('/students/{post}/feedbacks/{feedback}', function ($postId, $feedbackId) {
   //
});

Dalam kes di atas, terdapat dua parameter penghalaan: {post} dan {feedback}

Parameter pilihan

Anda juga boleh menambah parameter pilihan pada laluan. Parameter pilihan tidak selalu tersedia dan ditunjukkan oleh ? Sintaks parameter pilihan adalah seperti berikut −

Route::get('/students/{myname?}', function ($myname = null) {
   return $myname;
});

Di sini nama saya ialah parameter pilihan.

Laravel mempunyai beberapa kaedah untuk membantu mengesahkan parameter. Mereka adalah di mana(), whereNumber(), whereAlpha() dan whereAlphaNumeric().

Terjemahan bahasa Cina bagi

Contoh 1

ialah:

Contoh 1

Gunakan kaedah dimana()

where()Kaedah ditakrifkan pada laluan dan ia akan menerima nama parameter dan pengesahan digunakan pada parameter. Jika terdapat berbilang parameter, ia akan diterima sebagai tatasusunan, di mana kunci adalah nama parameter dan nilai adalah peraturan pengesahan yang akan digunakan pada kunci.

Route::get('/student/{studentname}', function ($studentname) {
   return $studentname;
})->where('studentname', '[A-Za-z]+');

Output

Outputnya ialah −

disha

Dalam kes di atas, nama pelajar mesti mengandungi A-Z atau a-z atau campuran kedua-duanya. Jadi berikut ialah URL yang sah -

http://localhost:8000/student/DISHA
http://localhost:8000/student/dishaSingh.

URL Tidak Sah -

http://localhost:8000/student/dishaSingh123

Contoh 2

Sekarang mari kita semak berbilang parameter menggunakan kaedah where().

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname){
   return $studentid."===".$studentname;
})->where(['studentid' => '[0-9]+', 'studentname' => '[a-z]+']);
Dalam kes di atas, parameter penghalaan ialah studentid dan studentname. studentid diperlukan ialah nombor antara 0-9 dan nama pelajar mestilah dalam huruf kecil. Kandungan yang perlu diterjemahkan ialah: ia mestilah nombor antara 0-9 dan nama pelajar mestilah huruf kecil

Output

Output di atas ialah −

12===disha

URL yang sah di atas ialah −

http://localhost:8000/student/12/disha
http://localhost:8000/student/01/disha

URL Tidak Sah -

http://localhost:8000/student/01/DISHA
http://localhost:8000/student/abcd/disha

Gunakan whereNumber()

Contoh

Anda perlu lulus parameter laluan yang anda mahu mempunyai nilai yang sah sahaja -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->where('studentname','[a-z]+');

Output

Output kod di atas ialah −

12===disha

Gunakan whereAlpha()

Contoh

Anda perlu melepasi parameter laluan yang anda mahu mempunyai nilai alfa -

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlpha('studentname');

Output

Output kod di atas ialah −

12===dishaSingh

Gunakan whereAlphaNumeric()

Contoh

Anda perlu melepasi parameter laluan yang anda ingin mempunyai nilai alfanumerik−

Route::get('/student/{studentid}/{studentname}', function ($studentid, $studentname) {
   return $studentid."===".$studentname;
})->whereNumber('studentid')->whereAlphaNumeric ('studentname');

Output

Outputnya ialah -

12===dishaSingh122

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan parameter laluan dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:fungsi levenshtein() dalam PHPArtikel seterusnya:fungsi levenshtein() dalam PHP