Laravel ialah rangka kerja PHP popular yang sering digunakan untuk membina aplikasi web dan API. Dalam Laravel, antara muka API boleh ditakrifkan melalui laluan, tetapi kadangkala kita perlu memetakan antara muka API ke laluan URL lain, yang memerlukan penggunaan fungsi Pemetaan Laluan Laravel.
Artikel ini akan memperkenalkan kaedah menetapkan pemetaan antara muka dalam Laravel, serta senario menggunakan pemetaan antara muka dalam pembangunan sebenar.
Pemetaan antara muka ialah kaedah memetakan laluan URL ke laluan URL lain. Dalam Laravel, anda boleh menggunakan kaedah Route::redirect untuk melaksanakan pemetaan antara muka Sintaks adalah seperti berikut:
Route::redirect($from, $to, $status = 302);
di mana $from mewakili laluan URL yang hendak dipetakan dan $to mewakili laluan URL. untuk dipetakan ke $status mewakili kod status HTTP, lalai ialah 302.
Secara amnya, kami mentakrifkan laluan dalam web.php atau api.php, contohnya:
Route::get('/users', 'UserController@index');
Kod di atas mentakrifkan laluan permintaan GET bernama /users, yang Menuding kepada kaedah indeks daripada pengawal UserController. Walau bagaimanapun, jika anda perlu mengubah hala permintaan kepada /users ke laluan URL yang lain, anda boleh menambah kod berikut:
Route::redirect('/users', '/new-users', 301);
Kod di atas akan mengubah hala semua permintaan kepada /users kepada /new-users, dan The Kod status HTTP ialah 301 (Permanent Redirect).
Selain kaedah Route::redirect, Laravel juga menyediakan kaedah pemetaan antara muka lain, seperti Route::permanentRedirect, Route::any, dsb.
Terdapat banyak senario aplikasi fungsi pemetaan antara muka Laravel. Berikut adalah beberapa senario biasa dalam pembangunan sebenar.
2.1. Menukar nombor versi API
Apabila membangunkan aplikasi web dan API, biasanya perlu menentukan nombor versi API. Sebagai contoh, kami mungkin memasukkan nombor versi sebagai sebahagian daripada laluan URL, seperti:
Route::get('/v1/users', 'UserController@index');
Kod di atas mentakrifkan laluan permintaan GET bernama /v1/users. Walau bagaimanapun, jika kita perlu menukar nombor versi API daripada 1 kepada 2, tetapi tidak mahu menggunakan laluan URL seperti /v2/users, kita boleh menggunakan pemetaan antara muka untuk mencapai ini. Contohnya:
Route::redirect('/v1/users', '/v2/users', 301);
Kod di atas mengubah hala semua permintaan kepada /v1/users ke /v2/users dan kod status HTTP ialah 301 (ubah hala kekal). Dengan cara ini, kami boleh menaik taraf nombor versi API kepada 2 tanpa mengubah kod klien API.
2.2. Ubah hala ke HTTPS
Untuk memastikan keselamatan aplikasi web dan API, banyak pembangun menggunakan protokol HTTPS untuk menyulitkan penghantaran data. Jika aplikasi anda tidak menggunakan protokol HTTPS, anda boleh menggunakan pemetaan antara muka untuk mengubah hala semua permintaan HTTP ke protokol HTTPS. Contohnya:
Route::redirect('/{path}', 'https://www.example.com/{path}', 301)->where('path', '.*');
Kod di atas mengubah hala semua permintaan HTTP ke https://www.example.com/{path}. Antaranya, {path} mewakili mana-mana laluan dan .* mewakili mana-mana aksara atau set aksara boleh digunakan.
Fungsi pemetaan antara muka Laravel boleh memetakan satu laluan URL ke laluan URL lain dengan mudah, mengelakkan masalah kerap mengubah suai laluan dalam aplikasi. Dalam pembangunan sebenar, fungsi pemetaan antara muka mempunyai banyak senario aplikasi, seperti menukar nombor versi API, mengubah hala ke HTTPS, dsb. Saya harap artikel ini akan membantu anda memahami pemetaan antara muka Laravel.
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menyediakan pemetaan antara muka dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!