Cara Menghantar Data Dari Laluan ke Pengawal dan Lihat dalam Laravel 11

WBOY
Lepaskan: 2024-08-21 21:04:09
asal
614 orang telah melayarinya

How to Pass Data From Route to Controller and View in Laravel 11

Sejak tahun 2020 hingga 2024, pembangunan dalam Laravel telah menjadi rahmat untuk pembangun di seluruh dunia. Dalam contoh kod kecil ini kami akan memandu anda laluan menghantar data dari laluan ke pengawal dan kemudian ke paparan adalah aspek asas pembangunan Laravel secara umum dan kami sering melihatnya. Laravel 11, seperti versi sebelumnya, menyediakan cara yang elegan dan cekap untuk mengurus proses ini. Memahami cara menghantar data dengan berkesan antara komponen ini adalah penting untuk membina aplikasi web yang dinamik dan responsif.

*(I) Gambaran Keseluruhan Penghalaan Laravel
*

Dalam Laravel, laluan BOLEH ditakrifkan dalam fail route/web.php. Laluan biasanya terdiri daripada laluan URL dan tindakan yang sepadan, seperti menggunakan kaedah pada pengawal dan sebagainya dan sebagainya, dsb. Apabila pengguna mengakses URL tertentu, Laravel menentukan laluan yang sesuai dan melaksanakan logik yang berkaitan.

Contoh Kod

Route::get('/example', [ExampleController::class, 'show']);
Salin selepas log masuk

Dalam contoh ini, apabila pengguna melawati URL /example, kaedah paparan ExampleController dilaksanakan.

*(II) Menghantar Data dari Laluan ke Pengawal
*

Jadi, contoh yang diberikan di bawah boleh anda lihat kami akan menghantar data daripada laluan kepada pengawal, dan kemudian kami akan memasukkan parameter laluan dalam URL dan mengakses parameter ini dalam kaedah pengawal.

Route::get('/user/{id}', [UserController::class, 'show']);
Salin selepas log masuk

Di sini, {id} ialah parameter laluan. Apabila pengguna melawat /pengguna/1, nilai id 1 dihantar ke kaedah paparan UserController.

Kaedah Pengawal:

public function show($id)
{
    // Fetch the user data using the ID
    $user = User::find($id);

    // Return the view with the user data
    return view('user.profile', ['user' => $user]);
}
Salin selepas log masuk

Dalam kaedah ini, parameter id telah digunakan untuk mengambil pengguna daripada pangkalan data kami. Data pengguna yang diambil kemudian dihantar ke paparan.

*(III) Menghantar Data daripada Pengawal ke Paparan
*

Sebaik sahaja data dikendalikan dalam pengawal, selalunya perlu untuk menghantar data ini kepada paparan untuk pemaparan. Laravel menyediakan beberapa cara untuk menghantar data daripada pengawal kepada paparan.

*(i) Menghantar Data Menggunakan Kaedah()
*

public function show($id)
{
    $user = User::find($id);

    // Passing data using with() method
    return view('user.profile')->with('user', $user);
}
Salin selepas log masuk

*(ii) Menghantar Data Menggunakan Tatasusunan Bersekutu
*

public function show($id)
{
    $user = User::find($id);

    // Passing data using an associative array
    return view('user.profile', ['user' => $user]);
}
Salin selepas log masuk

*(iii) Menghantar Data Menggunakan Fungsi compact()
*

public function show($id)
{
    $user = User::find($id);

    // Passing data using the compact() function
    return view('user.profile', compact('user'));
}
Salin selepas log masuk

Dalam semua contoh kod kecil di atas, kaedah telah digunakan, pembolehubah $user dimaksudkan untuk disediakan kepada paparan user.profile, yang kemudiannya boleh digunakan untuk memaparkan maklumat pengguna.

*(IV) Mengakses Data Lulus dalam Paparan
*

Dalam paparan, data yang dihantar daripada pengawal boleh diakses menggunakan sintaks Blade, iaitu enjin templat Laravel.

Contoh Pandangan Bilah:

<!DOCTYPE html>
<html>
<head>
    <title>User Profile</title>
</head>
<body>
    <h1>{{ $user->name }}</h1>
    <p>Email: {{ $user->email }}</p>
</body>
</html>
Salin selepas log masuk

Dalam contoh kod ini, pembolehubah $user diakses dalam paparan Blade dan nama dan e-mel pengguna dipaparkan.

*(V) Melepasi Berbilang Parameter
*

Anda juga boleh menghantar berbilang parameter daripada laluan ke pengawal dan kemudian ke paparan.

Contoh Kod Laluan

Route::get('/post/{id}/comment/{commentId}', [PostController::class, 'showComment']);
Salin selepas log masuk

Kaedah Pengawal:

public function showComment($id, $commentId)
{
    $post = Post::find($id);
    $comment = Comment::find($commentId);

    return view('post.comment', compact('post', 'comment'));
}
Salin selepas log masuk

Dalam kes ini, kedua-dua data siaran dan ulasan dihantar ke paparan siaran.komen.

(VI) Berikut adalah beberapa Nota Tinggi untuk Pemahaman Lebih Baik

(i)- Gunakan Laluan Dinamakan: Laravel membenarkan anda menentukan laluan yang dinamakan, yang memudahkan anda menjana URL atau ubah hala dalam aplikasi anda.

  • (ii) - Sahkan Input: Sentiasa sahkan data yang datang daripada parameter laluan sebelum memprosesnya dalam pengawal. Ciri pengesahan terbina dalam Laravel boleh membantu memastikan data memenuhi kriteria yang diperlukan.

  • (iii) - Pastikan Pengawal Bersih: Ikut Prinsip Tanggungjawab Tunggal dengan memastikan pengawal tertumpu pada tugas tertentu. Delegasikan logik kompleks kepada perkhidmatan atau repositori apabila perlu.

  • (iv) - Gunakan Suntikan Ketergantungan: Jika boleh, gunakan suntikan kebergantungan dalam pengawal untuk menyuntik perkhidmatan atau model yang diperlukan, menjadikan kod lebih boleh diuji dan diselenggara.

Mengirim data daripada laluan ke pengawal dan kemudian ke paparan ialah proses yang mudah dalam tutorial Laravel 11 anda boleh melihat lebih banyak contoh kod. Dengan memahami pelbagai kaedah yang tersedia dan mematuhi amalan terbaik, anda boleh memastikan aplikasi anda kekal bersih, cekap dan boleh diselenggara. Memanfaatkan teknik ini akan membolehkan anda membina aplikasi yang teguh dan berskala yang mudah diurus dan dilanjutkan.

Atas ialah kandungan terperinci Cara Menghantar Data Dari Laluan ke Pengawal dan Lihat dalam Laravel 11. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!