Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk melaksanakan fungsi melompat halaman dengan parameter dalam laravel

Bagaimana untuk melaksanakan fungsi melompat halaman dengan parameter dalam laravel

PHPz
PHPzasal
2023-04-19 10:08:151305semak imbas

Dalam rangka kerja Laravel, melompat ke halaman adalah operasi yang sangat biasa. Kadangkala perlu membawa beberapa parameter semasa melompat, seperti kata kunci carian, bilangan halaman, dsb. Pada masa ini, anda perlu melaksanakan fungsi melompat ke halaman dengan parameter. Artikel ini akan memperkenalkan cara melaksanakan fungsi melompat halaman dengan parameter dan mencapai lulus parameter tanpa ubah hala.

1. Lompat asas

Dalam rangka kerja Laravel, terdapat dua cara untuk melompat, satu adalah menggunakan fungsi ubah hala, dan satu lagi adalah menggunakan fungsi pandangan. Fungsi ubah hala digunakan untuk melompat ke kaedah pengawal lain, dan fungsi paparan digunakan untuk melompat ke fail paparan.

Menggunakan fungsi ubah hala, anda boleh menulisnya seperti ini:

return redirect()->action(
    '[控制器名称]@[方法名称]'
);

Menggunakan fungsi paparan, anda boleh menulisnya seperti ini:

return view('[视图文件路径]', [参数数组]);

Kedua-dua kaedah jangan lulus parameter Jika Untuk lulus parameter, kita perlu menggunakan kaedah berikut.

2. Lompat dengan parameter

2.1 Gunakan perisian tengah

Laravel menyediakan fungsi perisian tengah yang sangat mudah untuk menghantar parameter ke Permintaan seterusnya.

Kami boleh mencipta middleware baharu, menyimpan parameter dalam middleware, dan kemudian mendapatkan semula parameter ini dalam permintaan seterusnya. Kod perisian tengah adalah seperti berikut:

<?php

namespace App\Http\Middleware;

use Closure;

class ParamsMiddleware
{
    public function handle($request, Closure $next)
    {
        $params = [
            &#39;param1&#39; => 'value1',
            'param2' => 'value2',
            'param3' => 'value3',
        ];
        
        $request->session()->put('params', $params);
        
        return $next($request);
    }
}

Simpan parameter dalam sesi, dan kemudian keluarkannya dalam permintaan seterusnya.

$params = $request->session()->get('params');

Kami boleh mendaftarkan middleware dalam fail web.php dan menambah middleware pada laluan.

Route::middleware('params')->get('/', '[控制器名称]@[方法名称]');

Kelemahan kaedah ini ialah ia memerlukan penggunaan sesi Jika sesi tidak dihidupkan, ia tidak boleh digunakan.

2.2. Menggunakan parameter URL

Kami juga boleh menggunakan parameter URL untuk menghantar parameter ke halaman seterusnya.

Apabila melompat, kita boleh menggunakan fungsi laluan untuk menentukan laluan, dan kemudian menetapkan parameter dalam laluan.

Kod lompat:

return redirect()->route('[路由名称]', ['param1' => 'value1', 'param2' => 'value2']);

Kod penghalaan:

Route::get('/', '[控制器名称]@[方法名称]')->name('[路由名称]');

Dalam pengawal, kita boleh menggunakan objek permintaan untuk mendapatkan parameter URL.

$request->input('param1');

Kelemahan kaedah ini ialah parameter URL akan dipaparkan dalam bar alamat URL, yang mungkin menyebabkan beberapa masalah kepada pengguna.

2.3. Gunakan parameter ubah hala

Laravel menyediakan kaedah lain untuk menghantar parameter tanpa ubah hala. Mari lihat kod dahulu dan kemudian terangkan.

return redirect()->to('/')->with('param1', 'value1')->with('param2', 'value2');

Apabila mengubah hala, kita boleh menggunakan fungsi dengan untuk menyimpan parameter dalam sesi. Dengan cara ini, parameter boleh digunakan dalam permintaan seterusnya.

Dalam pengawal, kita boleh mendapatkan parameter seperti ini.

$request->session()->get('param1');
$request->session()->get('param2');

Kaedah ini mencapai penghantaran parameter tanpa ubah hala, dan juga mengelakkan gangguan parameter URL kepada pengguna.

Ringkasan

Dalam Laravel, terdapat banyak cara untuk melaksanakan fungsi melompat ke halaman dengan parameter. Anda boleh menggunakan perisian tengah, parameter URL atau parameter ubah hala. Kaedah yang berbeza mempunyai kelebihan dan kekurangan yang berbeza, dan kita perlu memilih kaedah yang paling sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi melompat halaman dengan parameter dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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