Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan perisian tengah untuk maklum balas pengguna dalam Laravel

Cara menggunakan perisian tengah untuk maklum balas pengguna dalam Laravel

WBOY
WBOYasal
2023-11-02 08:59:06857semak imbas

Cara menggunakan perisian tengah untuk maklum balas pengguna dalam Laravel

Cara menggunakan perisian tengah untuk maklum balas pengguna dalam Laravel

Petikan:
Dalam aplikasi web moden, maklum balas pengguna adalah penting. Kami perlu mengumpul soalan, cadangan dan pendapat pengguna dan menanganinya tepat pada masanya. Rangka kerja Laravel menyediakan fungsi middleware yang berkuasa yang boleh membantu kami melaksanakan fungsi maklum balas pengguna dengan mudah. Artikel ini akan memperkenalkan cara menggunakan perisian tengah dalam Laravel untuk mengumpul maklum balas pengguna dan memberikan contoh kod khusus.

1. Penyediaan:
Sebelum kita mula, kita perlu memastikan bahawa kita telah menyelesaikan persediaan berikut:

  1. Pasang dan konfigurasikan rangka kerja Laravel
  2. Buat jadual pangkalan data yang dinamakan maklum balas untuk menyimpan maklumat maklum balas pengguna; Buat model Maklum Balas dan fail migrasi yang sepadan untuk mengendalikan jadual maklum balas;
  3. Tentukan laluan yang sepadan dalam fail web.php.
  4. 2. Cipta perisian tengah:
Pertama, kita perlu mencipta perisian tengah yang dipanggil CollectFeedback. Jalankan arahan berikut dalam baris arahan untuk menjana fail middleware:

php artisan make:middleware CollectFeedback

Selepas penciptaan berjaya, fail CollectFeedback.php akan dijana dalam direktori app/Http/Middleware. Kita boleh membuka fail ini untuk menulis logik perisian tengah.

3. Tulis logik middleware:

Dalam perisian tengah CollectFeedback, kita perlu melaksanakan kaedah pemegang. Kaedah ini akan dipanggil sebelum permintaan sampai ke pengawal, jadi kami boleh mengendalikan logik maklum balas pengguna di sini. Berikut ialah kod sampel mudah:

<?php

namespace AppHttpMiddleware;

use Closure;
use AppModelsFeedback;

class CollectFeedback
{
    public function handle($request, Closure $next)
    {
        // 获取用户提交的反馈内容
        $feedbackContent = $request->input('feedback');
        
        // 将反馈信息保存到数据库中
        Feedback::create([
            'content' => $feedbackContent,
            'user_id' => auth()->user()->id // 假设我们有用户认证功能
        ]);
        
        return $next($request);
    }
}

Dalam contoh ini, kami mula-mula mendapat kandungan maklum balas yang diserahkan pengguna daripada permintaan. Kemudian, kami menggunakan kaedah cipta model Maklum Balas untuk menyimpan kandungan maklum balas ke pangkalan data. Diandaikan di sini bahawa kami telah menghidupkan fungsi pengesahan pengguna dan boleh mendapatkan ID pengguna melalui fungsi auth(). Akhir sekali, kami mengembalikan $next($request) untuk meneruskan pemprosesan permintaan seterusnya.

4. Daftar middleware:

Sebelum menggunakan middleware, kita perlu mendaftar middleware ke dalam aplikasi. Buka fail app/Http/Kernel.php dan tambahkan kod berikut dalam tatasusunan web harta $middlewareGroups:

AppHttpMiddlewareCollectFeedback::class

Kod ini menambahkan perisian tengah CollectFeedback pada kumpulan web untuk digunakan dalam penghalaan web. Contohnya adalah seperti berikut:

protected $middlewareGroups = [
    'web' => [
        // ... 其他中间件
        AppHttpMiddlewareCollectFeedback::class,
    ],
    // ... 其他中间件组
];

5. Konfigurasikan penghalaan:

Kini, kita boleh menentukan laluan untuk menerima maklum balas pengguna dalam fail web.php. Contohnya adalah seperti berikut:

Route::post('/feedback', function(Request $request) {
    // 处理用户反馈的逻辑
    return redirect()->back()->with('success', '感谢您的反馈!');
});

Dalam contoh ini, kami mentakrifkan laluan jenis POST untuk mengendalikan maklum balas pengguna daripada penyerahan borang. Anda boleh menentukan logik penghalaan mengikut keperluan anda.

6. Paparan bahagian hadapan:

Akhir sekali, kami perlu menambah borang untuk mengumpulkan maklum balas pengguna dalam paparan bahagian hadapan. Contohnya adalah seperti berikut:

<form method="POST" action="/feedback">
    @csrf
    <textarea name="feedback" rows="5" cols="30"></textarea>
    <button type="submit">提交反馈</button>
</form>

Fungsi perlindungan CSRF Laravel sendiri digunakan di sini untuk memastikan keselamatan borang.

Kesimpulan:

Melalui langkah di atas, kami berjaya melaksanakan fungsi menggunakan perisian tengah dalam Laravel untuk mengumpul maklum balas pengguna. Middleware memberikan kami cara yang mudah untuk memintas dan memproses permintaan sebelum ia sampai ke pengawal. Saya harap artikel ini dapat membantu anda melaksanakan fungsi maklum balas pengguna dan meningkatkan pengalaman pengguna.


Sumber rujukan:

Dokumentasi rasmi Laravel: https://laravel.com/docs
  • Laravel Chinese website: https://learnku.com/docs/laravel/8.x

Atas ialah kandungan terperinci Cara menggunakan perisian tengah untuk maklum balas pengguna 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