温馨提示×

PHP的GraphQL类型系统如何定义

PHP
小樊
84
2024-08-16 01:30:41
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在PHP中定义GraphQL类型系统通常通过使用GraphQL PHP库来实现。下面是一个简单的示例:

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

// 定义一个用户类型
$userType = new ObjectType([
    'name' => 'User',
    'fields' => [
        'id' => Type::int(),
        'name' => Type::string(),
        'email' => Type::string(),
    ],
]);

// 定义一个查询类型
$queryType = new ObjectType([
    'name' => 'Query',
    'fields' => [
        'user' => [
            'type' => $userType,
            'args' => [
                'id' => Type::nonNull(Type::int()),
            ],
            'resolve' => function ($root, $args) {
                // 根据用户ID获取用户信息
                // 这里可以是从数据库、API等地方获取数据
                return [
                    'id' => $args['id'],
                    'name' => 'John Doe',
                    'email' => 'john.doe@example.com',
                ];
            },
        ],
    ],
]);

// 创建GraphQL schema
$schema = new Schema([
    'query' => $queryType,
]);

在这个示例中,首先定义了一个用户类型(User),包含id、name和email字段。然后定义了一个查询类型(Query),包含一个user字段,接受一个id参数,并返回相应的用户信息。最后创建了一个GraphQL schema,将查询类型指定为根查询类型。这样就定义了一个简单的GraphQL类型系统。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Cacti系统可以自定义监控什么类型的指标

0