Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk membuat kunci tengah dalam laravel

Bagaimana untuk membuat kunci tengah dalam laravel

PHPz
PHPzasal
2023-04-11 15:05:28888semak imbas

Laravel ialah rangka kerja PHP popular yang menyediakan banyak ciri dan alatan untuk memudahkan pembangun membina aplikasi web berkualiti tinggi. Satu ciri yang ketara ialah perisian tengah, yang membolehkan pembangun melakukan tindakan tertentu sebelum permintaan itu sampai ke destinasi terakhirnya dalam aplikasi. Artikel ini akan memperkenalkan anda kepada cara mencipta perisian tengah Laravel.

Apakah itu middleware

Middleware ialah satu cara untuk memintas permintaan penghalaan. Apabila aplikasi menerima permintaan, perisian tengah akan melakukan satu siri operasi untuk mengubah suai dan mengawal permintaan tersebut. Middleware boleh digunakan untuk pelbagai operasi seperti pengesahan, kawalan akses, caching dan banyak lagi.

Laravel disertakan dengan beberapa perisian tengah, seperti auth, csrf, throttle, dsb. Selain itu, pembangun boleh mencipta perisian tengah mereka sendiri untuk mencapai tugas yang lebih khusus.

Buat middleware

Mencipta middleware dalam Laravel adalah sangat mudah Anda hanya perlu melaksanakan arahan berikut untuk menghasilkan middleware baharu:

php artisan make:middleware MyMiddleware

Arahan di atas akan A. kelas middleware baharu bernama app/Http/Middleware akan dibuat dalam direktori MyMiddleware. Kelas ini akan mengandungi dua kaedah: handle() dan __construct(). Kaedah

handle() ialah teras perisian tengah, yang mentakrifkan operasi yang perlu dilakukan apabila perisian tengah dilaksanakan. Kaedah handle() akan menerima dua parameter: objek permintaan dan penutupan panggil balik. Biasanya, middleware mengubah suai permintaan dan menyerahkannya kepada pengendali seterusnya.

Berikut ialah contoh middleware mudah untuk log masa tindak balas permintaan:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Log;

class ResponseTimeMiddleware
{
    public function handle($request, Closure $next)
    {
        $start_time = microtime(true);
        $response = $next($request);
        $end_time = microtime(true);
        $response_time = round(($end_time - $start_time) * 1000, 2);
        Log::info("Response time: {$response_time}ms");
        return $response;
    }
}

Dalam contoh di atas, kami log masa mula permintaan dan masa tamat permintaan Kemudian hitung masa tindak balas. Kami kemudian log masa respons ke log aplikasi dan mengembalikan respons.

Daftar middleware

Untuk menggunakan middleware, ia perlu didaftarkan dengan aplikasi. Laravel menyediakan dua kaedah untuk mendaftar middleware.

Perisian tengah global

Perisian tengah global akan dijalankan sebelum setiap pengendali permintaan. Untuk mendaftarkan perisian tengah global, buka fail app/Http/Kernel.php dan tambahkan kelas pada atribut $middleware.

Contohnya, untuk mendaftarkan ResponseTimeMiddleware middleware yang kami buat sebelum ini, kami boleh menambah kod berikut pada tatasusunan $middleware:

protected $middleware = [
    \App\Http\Middleware\ResponseTimeMiddleware::class
];

Route Middleware

Perisian tengah penghalaan hanya berjalan pada laluan tertentu. Untuk mendaftarkan perisian tengah penghalaan, tambahkan nama kategori dalam atribut app/Http/Kernel.php dalam fail $routeMiddleware.

Contohnya, untuk mendaftarkan ResponseTimeMiddleware middleware yang kami buat sebelum ini, kami boleh menambah kod berikut pada tatasusunan $routeMiddleware:

protected $routeMiddleware = [
    &#39;response_time&#39; => \App\Http\Middleware\ResponseTimeMiddleware::class,
];

Dalam fail route, kita boleh gunakan kategori Nama untuk menentukan perisian tengah yang akan digunakan:

Route::get('/', function () {
    return view('welcome');
})->middleware('response_time');

Kesimpulan

Perisian tengah ialah ciri berkuasa rangka kerja Laravel, yang membolehkan pembangun mengubah suai dan mengubah suai permintaan sebelum aplikasi melaksanakan permintaan. Dalam artikel ini, kami meneroka penciptaan dan pendaftaran perisian tengah Laravel, dan cara menggunakannya dalam aplikasi anda. Jika anda tidak pernah menggunakan perisian tengah sebelum ini, saya syorkan anda meluangkan sedikit masa untuk belajar dan mula menggunakannya.

Atas ialah kandungan terperinci Bagaimana untuk membuat kunci tengah 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