
フロントエンドとバックエンドの分離開発に Hyperf フレームワークを使用する方法
インターネットの急速な発展に伴い、フロントエンドとバックエンドの開発モデルは、バックエンドの分離は開発者からますます注目を集めています。この開発モデルでは、フロントエンドがページ表示とユーザー操作を担当し、バックエンドがデータ処理とビジネス ロジックを担当します。この記事では、フロントエンドとバックエンドの分離開発に Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。
- 環境準備
まず、PHPとComposerをインストールする必要があります。次に、Composer を使用して、次のコマンドで Hyperf フレームワークをグローバルにインストールします:
1 | composer global require hyperf/hyperf-skeleton
|
ログイン後にコピー
インストールが完了したら、次のコマンドを使用して新しい Hyperf プロジェクトを作成できます:
1 | composer create-project hyperf/hyperf-skeleton your-project-name
|
ログイン後にコピー
# #Create Controller-
Hyperf フレームワークでは、コントローラーはリクエストを処理し、対応する応答を返す役割を果たします。次のコマンドを使用して、新しいコントローラーを作成できます。
1 | php bin/hyperf.php gen:controller DemoController
|
ログイン後にコピー
これにより、app/Controller ディレクトリに DemoController という名前のコントローラー ファイルが生成されます。このファイルでは、さまざまなリクエストを処理するためのさまざまなインターフェイス メソッドを定義できます。
以下は、JSON 形式で応答を返す方法を示す簡単なサンプル コードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <?php
declare (strict_types=1);
namespace AppController;
use HyperfDiAnnotationInject;
use HyperfHttpServerAnnotationAutoController;
use HyperfHttpServerAnnotationMiddleware;
use HyperfHttpServerAnnotationMiddlewares;
use HyperfHttpServerContractRequestInterface;
use HyperfHttpServerContractResponseInterface;
class DemoController
{
private $request ;
private $response ;
public function index()
{
$data = [
'message' => 'Hello World' ,
];
return $this ->response->json( $data );
}
}
|
ログイン後にコピー
このサンプル コードでは、$response- を呼び出して、index という名前のインターフェイス メソッドを作成します。 >json() メソッドは JSON 形式で応答を返します。
フロントエンド ページの作成
フロントエンドとバックエンドが分離されている開発モードでは、フロントエンドのインターフェイス ドキュメントを提供する必要があります。バックエンド インターフェイスを呼び出せるように開発します。 Hyperf は、インターフェイス ドキュメントを自動的に生成できる Swagger コンポーネントを提供します。次のコマンドを使用して Swagger コンポーネントをインストールできます:
1 | composer require hyperf/swagger
|
ログイン後にコピー
次に、config/autoload ディレクトリに swagger.php 構成ファイルを作成して、Swagger コンポーネントの関連情報を構成します:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php
use HyperfSwggerAnnotation as Swgger;
class DemoController
{
public function index()
{
$data = [
'message' => 'Hello World' ,
];
return $this ->response->json( $data );
}
}
|
ログイン後にコピー
このサンプル コードでは、Swagger アノテーションを使用して、インターフェイス パス、応答コード、その他の情報を含むインデックス メソッドを記述します。
Hyperf サービスの開始
コントローラーとフロントエンド ページの作成が完了したら、フロントエンドが通信できるように Hyperf サービスを開始する必要があります。インターフェイスを介してバックエンドと接続します。
次のコマンドを使用して、Hyperf サービスを開始します:
フロントエンドはバックエンド インターフェイスを呼び出します
Hyperf サービスが開始されたら、正常に開始されると、フロントエンド開発者は Document インターフェイスに従ってバックエンド インターフェイスを呼び出すことができます。 JavaScript、Vue.js、React などのフロントエンド テクノロジを使用できます。
次は、JavaScript を使用してバックエンド インターフェイスを呼び出す方法を示す簡単なサンプル コードです:
1 2 3 | fetch( 'http://localhost:9501/demo/index' )
.then(response => response.json())
.then(data => console.log(data));
|
ログイン後にコピー
このサンプル コードでは、fetch 関数を使用して GET リクエストを送信し、 json() メソッドを使用して、返された応答データを解析します。
概要
上記の手順を通じて、Hyperf フレームワークを使用してフロントエンドとバックエンドの分離を開発できます。開発者は、自分のニーズや好みに応じて自分に合ったフロントエンド テクノロジを選択し、インターフェイス ドキュメントに従ってバックエンド インターフェイスを呼び出すことができます。 Hyperf フレームワークの強力な機能と豊富なドキュメントは、開発者がより効率的に開発するのに役立ちます。
以上がフロントエンドとバックエンドの分離開発に Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。