Rumah > rangka kerja php > Laravel > teks badan

Pelbagai kaedah untuk laravel mendapatkan laluan permintaan

PHPz
Lepaskan: 2023-04-11 09:40:09
asal
2004 orang telah melayarinya

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
});
Salin selepas log masuk

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
});
Salin selepas log masuk

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
});
Salin selepas log masuk

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
});
Salin selepas log masuk

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
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan