在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類型系統。