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.
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
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
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' => '年龄', ]; } }
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; } }
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');
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!