溫馨提示×

PHP怎么使用GraphQL查詢與獲取數據

小億
152
2024-05-06 17:05:56
欄目: 編程語言

使用PHP進行GraphQL查詢與獲取數據的步驟如下:

  1. 安裝相關的PHP GraphQL庫,推薦使用Webonyx GraphQL PHP庫??梢酝ㄟ^Composer進行安裝:
composer require webonyx/graphql-php
  1. 創建GraphQL查詢的schema,定義數據類型和查詢字段。
<?php

use GraphQL\Type\Definition\ObjectType;
use GraphQL\Type\Definition\Type;
use GraphQL\Type\Schema;

$queryType = new ObjectType([
    'name' => 'Query',
    'fields' => [
        'hello' => [
            'type' => Type::string(),
            'resolve' => function () {
                return 'world';
            }
        ]
    ]
]);

$schema = new Schema([
    'query' => $queryType
]);

  1. 處理GraphQL查詢請求,并執行查詢。
<?php

use GraphQL\GraphQL;
use GraphQL\Type\Schema;

// 獲取請求中的GraphQL查詢字符串
$query = $_POST['query'];

try {
    $result = GraphQL::executeQuery($schema, $query)->toArray();
    echo json_encode($result);
} catch (Exception $e) {
    echo json_encode([
        'error' => [
            'message' => $e->getMessage()
        ]
    ]);
}
  1. 發送GraphQL查詢請求,獲取數據。
<?php

$query = '{
    hello
}';

$response = file_get_contents('http://localhost/graphql', false, stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/json',
        'content' => json_encode(['query' => $query])
    ]
]));

$data = json_decode($response, true);
print_r($data);

這樣就可以使用PHP進行GraphQL查詢與獲取數據了。需要注意的是,GraphQL查詢語句需要符合GraphQL的語法規范,可以通過GraphQL Playground等工具進行調試。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女