在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类型系统。


