パラメータ検証に Hyperf フレームワークを使用する方法

WBOY
リリース: 2023-10-21 09:54:22
オリジナル
1310 人が閲覧しました

パラメータ検証に Hyperf フレームワークを使用する方法

パラメータ検証に Hyperf フレームワークを使用する方法

はじめに:
パラメータ検証は、Web アプリケーションを開発する際に非常に重要な部分です。パラメーターを適切に検証すると、アプリケーションのセキュリティと安定性が向上します。この記事では、パラメーター検証に Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。

  1. Hyperf フレームワークのインストール
    まず、Hyperf フレームワークをインストールする必要があります。 Composer を通じて Hyperf フレームワークをインストールし、次のコマンドを実行できます。

    composer create-project hyperf/hyperf-skeleton
    ログイン後にコピー
  2. コントローラーの作成
    Hyperf フレームワークでは、コントローラーを通じてリクエストを処理できます。まず、コントローラーを作成する必要があります。ターミナルで次のコマンドを実行して、コントローラー ファイルを生成します。

    php bin/hyperf.php gen:controller TestController
    ログイン後にコピー
  3. リクエスト パラメーター クラスを定義する
    次に、リクエストを受信して​​検証するためのリクエスト パラメーター クラスを定義する必要があります。パラメーター。 。 app/Request ディレクトリに TestRequest.php ファイルを作成します。コード例は次のとおりです:

    <?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. コントローラーを変更する
    次に、パラメータクラスを定義したリクエスト。 TestController.php のインデックス メソッドのコード例は次のとおりです。

    <?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. ルートの追加
    リクエストをコントローラーにマップするためのルートも追加する必要があります。次のコードを config/routes.php ファイルに追加します。

    <?php
    
    declare(strict_types=1);
    
    use HyperfHttpServerRouterRouter;
    
    Router::addRoute(['GET', 'POST', 'HEAD'], '/test/index', 'App\Controller\TestController@index');
    ログイン後にコピー
  6. アプリケーションの開始
    パラメーター検証の設定が完了したので、Hyperf フレームワーク アプリケーションを開始できます。ターミナルで次のコマンドを実行します:

    php bin/hyperf.php start
    ログイン後にコピー

テスト:
Postman などのツールを使用して、POST リクエストを http://127.0.0.1:9501/test/index に送信します。リクエスト パラメータは次のとおりです。

{
    "name": "张三",
    "age": 25
}
ログイン後にコピー

リクエスト パラメータが定義されたルールに準拠している場合、正しい応答が得られます。
リクエスト パラメータが定義されたルールに準拠していない場合は、エラー応答が返され、対応するエラー メッセージが含まれます。

概要:
この記事では、パラメーター検証に Hyperf フレームワークを使用する方法を紹介します。リクエストパラメータクラスを定義し、コントローラでリクエストパラメータクラスを使用することで、パラメータの検証を簡単に実装できます。パラメーターの検証は、アプリケーションの安定性とセキュリティを確保し、潜在的なエラーや攻撃を軽減するのに役立ちます。この記事がお役に立てば幸いです。

以上がパラメータ検証に Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート