Laravel ialah rangka kerja PHP popular yang digunakan secara meluas dalam pembangunan web. Dalam pembangunan web, kita selalunya perlu mendapatkan laluan permintaan untuk memproses permintaan Laravel menyediakan berbilang kaedah untuk mendapatkan laluan permintaan. Dalam artikel ini, kita akan belajar tentang kaedah ini dan kegunaannya.
1. Gunakan kelas IlluminateHttpRequest
Kelas IlluminateHttpRequest ialah salah satu kelas teras Laravel Ia merangkumi permintaan HTTP dan menyediakan banyak kaedah yang berguna. Untuk mendapatkan laluan permintaan semasa, kita boleh menggunakan kaedah laluan() kelas Permintaan. Kaedah ini mengembalikan laluan permintaan semasa, tidak termasuk parameter pertanyaan. Kod sampel adalah seperti berikut:
use Illuminate\Http\Request; Route::get('/hello', function (Request $request) { $path = $request->path(); echo $path; // 输出: /hello });
Jika anda ingin mendapatkan URL permintaan yang lengkap, termasuk parameter pertanyaan, anda boleh menggunakan kaedah fullUrl() kelas Permintaan. Kod sampel adalah seperti berikut:
use Illuminate\Http\Request; Route::get('/hello', function (Request $request) { $url = $request->fullUrl(); echo $url; // 输出: http://example.com/hello?name=world });
Selain kaedah di atas, kelas Permintaan juga menyediakan banyak kaedah lain yang berguna, seperti is(), method(), input(), dsb. Lihat dokumentasi Laravel untuk maklumat lanjut.
2. Gunakan kelas IlluminateRoutingRoute
Dalam Laravel, kelas Route mewakili laluan, yang mengandungi maklumat seperti URL laluan, kaedah permintaan dan pengendali. Untuk mendapatkan laluan permintaan semasa, kita boleh menggunakan kaedah semasa() kelas Route. Kaedah ini mengembalikan objek penghalaan permintaan semasa, dari mana kami boleh mendapatkan laluan permintaan, URL dan maklumat lain. Kod sampel adalah seperti berikut:
use Illuminate\Routing\Route; Route::get('/hello', function () { $route = Route::current(); $path = $route->getPath(); // 获取请求路径 $url = $route->getUri(); // 获取请求URL echo $path; // 输出: /hello echo $url; // 输出: /hello });
3 Gunakan fungsi tambahan url()
Laravel menyediakan fungsi tambahan url() untuk menjana URL. Jika tiada parameter diluluskan, URL semasa yang diminta dikembalikan. Kod sampel adalah seperti berikut:
Route::get('/hello', function () { $url = url(); echo $url; // 输出: http://example.com/hello });
Jika anda ingin mendapatkan laluan permintaan semasa, anda boleh menggunakan fungsi parse_url(). Kod sampel adalah seperti berikut:
Route::get('/hello', function () { $url = url(); $path = parse_url($url, PHP_URL_PATH); echo $path; // 输出: /hello });
4. Ringkasan
Artikel ini memperkenalkan pelbagai kaedah untuk mendapatkan laluan permintaan dalam Laravel, termasuk menggunakan kelas IlluminateHttpRequest, kelas IlluminateRoutingRoute dan url( ) fungsi pembantu. Setiap kaedah ini mempunyai kelebihan dan kekurangan, dan pembangun harus memilih kaedah yang sesuai dengan mereka berdasarkan keperluan sebenar. Jika anda belum menggunakan Laravel, saya harap artikel ini dapat membantu anda memahami Laravel. Jika anda sudah menggunakan Laravel, maka saya percaya artikel ini dapat membantu anda menjadi lebih mahir menggunakan Laravel.
Atas ialah kandungan terperinci Pelbagai kaedah untuk laravel mendapatkan laluan permintaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!