您好,登錄后才能下訂單哦!
在 Yii2 中集成 GraphQL,你可以使用 “goetas-webservices/graphql” 這個擴展包。以下是集成步驟:
使用 Composer 安裝 “goetas-webservices/graphql” 擴展包:
composer require goetas-webservices/graphql
在 Yii2 項目的配置文件(例如 config/web.php)中,添加 GraphQL 模塊的配置:
'components' => [
// ...
'graphql' => [
'class' => 'GoetasWebservices\GraphQL\GraphQL',
'schema' => [
'class' => 'GoetasWebservices\GraphQL\Schema\Schema',
'document' => file_get_contents(__DIR__ . '/schema.graphql'),
],
],
// ...
],
在項目根目錄下創建一個名為 “schema.graphql” 的文件,定義你的 GraphQL schema。例如:
type Query {
hello: String
}
在 Yii2 項目的 controllers 目錄下創建一個名為 “GraphQLController.php” 的文件,添加以下內容:
<?php
namespace app\controllers;
use yii\web\Controller;
use GoetasWebservices\GraphQL\Server\GraphQLController as BaseGraphQLController;
use GoetasWebservices\GraphQL\Model\Request as GraphQLRequest;
use GoetasWebservices\GraphQL\Model\Response as GraphQLResponse;
class GraphQLController extends BaseGraphQLController
{
public function actions()
{
return [
'index' => [
'class' => 'actions\IndexAction',
'query' => '{ hello }',
],
];
}
}
在 controllers 目錄下創建一個名為 “actions” 的文件夾,并在其中創建一個名為 “IndexAction.php” 的文件,添加以下內容:
<?php
namespace app\actions;
use GoetasWebservices\GraphQL\Server\Action\AbstractAction;
use GoetasWebservices\GraphQL\Model\Request as GraphQLRequest;
use GoetasWebservices\GraphQL\Model\Response as GraphQLResponse;
class IndexAction extends AbstractAction
{
public function execute(GraphQLRequest $request, GraphQLResponse $response)
{
$response->setResult([
'hello' => 'Hello, GraphQL!',
]);
}
}
現在你可以通過訪問 “/graphql” 路徑來測試你的 GraphQL API。你應該能看到如下響應:
{
"data": {
"hello": "Hello, GraphQL!"
}
}
這就是在 Yii2 中集成 GraphQL 的基本步驟。你可以根據自己的需求進一步擴展和定制 GraphQL schema 和 controller。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。