API インターフェイス開発に Hyperf フレームワークを使用する方法
環境セットアップ
まず、ローカル環境に Hyperf フレームワークの開発環境をセットアップする必要があります。 Composer ツールを使用して、ターミナルで次のコマンドを実行して Hyperf プロジェクトを作成できます。
composer create-project hyperf/hyperf hyperf-demo
API コントローラーの作成
Hyperf フレームワークでは、次のコマンドを作成して定義できます。コントローラー API インターフェイス。ターミナルでプロジェクトのルート ディレクトリに切り替え、次のコマンドを実行して API コントローラーを作成します。
php bin/hyperf.php make:controller User
これにより、App/Controller
に UserController# という名前の API が作成されます。ディレクトリ ## コントローラ ファイル。
UserController コントローラー ファイルでは、さまざまな API インターフェイスを処理する複数のメソッドを定義できます。たとえば、
getUser という名前のメソッドを定義して、ユーザー情報を取得できます。このメソッドのコード例は次のとおりです。
<?php declare(strict_types=1); namespace AppController; use HyperfHttpServerAnnotationController; use HyperfHttpServerAnnotationGetMapping; /** * @Controller(prefix="/user") */ class UserController { /** * @GetMapping(path="get") */ public function getUser(): array { return [ 'id' => 1, 'name' => 'John Doe', 'email' => 'john.doe@example.com', ]; } }
Controller アノテーションと
GetMapping アノテーションを使用してコントローラーとメソッドを識別します。
GetMapping アノテーションは、API インターフェイスのリクエスト メソッドとパスを定義します。
ターミナルでプロジェクトのルート ディレクトリに切り替え、次のコマンドを実行して Hyperf サービスを開始します:
php bin/hyperf.php start
http://127.0.0.1:9501 でリッスンします。
ユーザー情報を取得するためのアドレス。
getUser メソッドに追加できます。
<?php declare(strict_types=1); namespace AppController; use HyperfHttpServerAnnotationController; use HyperfHttpServerAnnotationGetMapping; use AppRequestUserRequest; use HyperfDiAnnotationInject; use HyperfValidationContractValidatorFactoryInterface; /** * @Controller(prefix="/user") */ class UserController { /** * @Inject * @var ValidatorFactoryInterface */ protected $validationFactory; /** * @GetMapping(path="get") */ public function getUser(UserRequest $request): array { $validator = $this->validationFactory->make($request->all(), $request->rules()); if ($validator->fails()) { throw new InvalidArgumentException($validator->errors()->first()); } return [ 'id' => 1, 'name' => 'John Doe', 'email' => 'john.doe@example.com', ]; } }
UserRequest を使用します。 ユーザーリクエストパラメータの検証ルールを定義するクラス。依存関係注入を通じて
ValidatorFactoryInterface インターフェイスを取得し、その
make メソッドを使用してバリデーターを作成します。検証が失敗した場合は、
InvalidArgumentException 例外がスローされます。
以上がAPI インターフェース開発に Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。