Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan rangka kerja Hyperf untuk pengesahan parameter

Cara menggunakan rangka kerja Hyperf untuk pengesahan parameter

WBOY
WBOYasal
2023-10-21 09:54:221203semak imbas

Cara menggunakan rangka kerja Hyperf untuk pengesahan parameter

Cara menggunakan rangka kerja Hyperf untuk pengesahan parameter

Pengenalan:
Pengesahan parameter ialah bahagian yang sangat penting semasa membangunkan aplikasi web. Pengesahan parameter yang betul boleh meningkatkan keselamatan dan kestabilan aplikasi anda. Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk pengesahan parameter dan memberikan contoh kod khusus.

  1. Pasang rangka kerja Hyperf
    Pertama, kita perlu memasang rangka kerja Hyperf. Anda boleh memasang rangka kerja Hyperf melalui Komposer dan laksanakan arahan berikut:

    composer create-project hyperf/hyperf-skeleton
  2. Buat pengawal
    Dalam rangka kerja Hyperf, kami boleh mengendalikan permintaan melalui pengawal. Pertama, kita perlu membuat pengawal. Jalankan arahan berikut dalam terminal untuk menjana fail pengawal:

    php bin/hyperf.php gen:controller TestController
  3. Tentukan kelas parameter permintaan
    Seterusnya, kita perlu menentukan kelas parameter permintaan untuk menerima dan mengesahkan parameter permintaan. Cipta fail TestRequest.php dalam direktori aplikasi/Permintaan Contoh kod adalah seperti berikut:

    <?php
    
    declare(strict_types=1);
    
    namespace AppRequest;
    
    use HyperfValidationRequestFormRequest;
    
    class TestRequest extends FormRequest
    {
     public function rules(): array
     {
         return [
             'name' => 'required',
             'age' => 'required|numeric',
         ];
     }
    
     public function attributes(): array
     {
         return [
             'name' => '姓名',
             'age' => '年龄',
         ];
     }
    }
  4. Ubah suai pengawal
    Seterusnya, kita perlu mengubah suai pengawal untuk menggunakan kelas parameter permintaan yang kami takrifkan. Dalam kaedah indeks dalam TestController.php, contoh kod adalah seperti berikut:

    <?php
    
    declare(strict_types=1);
    
    namespace AppController;
    
    use AppRequestTestRequest;
    use HyperfHttpServerAnnotationController;
    use HyperfHttpServerAnnotationPostMapping;
    use HyperfDiAnnotationInject;
    
    /**
     * @Controller()
     */
    class TestController
    {
     /**
      * @Inject
      * @var TestRequest
      */
     private $testRequest;
    
     /**
      * @PostMapping(path="index")
      */
     public function index()
     {
         $data = $this->testRequest->validated();
    
         // 处理请求数据
         // ...
    
         return $data;
     }
    }
  5. Tambah laluan
    Kami juga perlu menambah laluan untuk memetakan permintaan kepada pengawal kami. Tambahkan kod berikut pada fail config/routes.php:

    <?php
    
    declare(strict_types=1);
    
    use HyperfHttpServerRouterRouter;
    
    Router::addRoute(['GET', 'POST', 'HEAD'], '/test/index', 'App\Controller\TestController@index');
  6. Mulakan aplikasi
    Sekarang kita telah melengkapkan tetapan pengesahan parameter, kita boleh memulakan aplikasi rangka kerja Hyperf. Jalankan arahan berikut dalam terminal:

    php bin/hyperf.php start

Ujian:
Gunakan alat seperti Posmen untuk menghantar permintaan POST ke http://127.0.0.1:9501/test/index dan lulus parameter permintaan yang betul seperti berikut:

{
    "name": "张三",
    "age": 25
}

Jika parameter permintaan sepadan dengan peraturan yang ditetapkan, kami akan mendapat respons yang betul.
Jika parameter permintaan tidak mematuhi peraturan yang ditetapkan, kami akan mendapat respons ralat dan menyertakan mesej ralat yang sepadan.

Ringkasan:
Artikel ini memperkenalkan cara menggunakan rangka kerja Hyperf untuk pengesahan parameter. Dengan mentakrifkan kelas parameter permintaan dan menggunakan kelas parameter permintaan dalam pengawal, kami boleh melaksanakan pengesahan parameter dengan mudah. Pengesahan parameter boleh membantu kami memastikan kestabilan dan keselamatan aplikasi dan mengurangkan kemungkinan ralat dan serangan. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk pengesahan parameter. 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