GraphQL PHP 完整查询路径

GraphQL PHP full query path

我正在尝试在我的项目中实现对 graphql-php 的授权。我的想法是拥有一个用户访问数组,我可以在其中为每个用户组设置对特定查询和突变的访问权限,并在执行查询之前在 graphql 控制器中实现一个检查访问方法。

一种方法是自己解析请求,但我想知道是否有人知道如何访问查询的完整路径,正如我在 https://webonyx.github.io/graphql-php/error-handling/[=14= 中看到的那样]

<?php
[
    'message' => 'My reported error',
    'category' => 'businessLogic',
    'locations' => [
    ['line' => 10, 'column' => 2]
],
    'path' => [
        'path',
        'to',
        'fieldWithException'
    ]
];

可以通过每个解析器函数获取的 ResolveInfo 对象在解析器中访问该路径。文档没有显示,但每个解析器的第四个参数是 ResolveInfo(来自 webonyx 源 $resolveFn($source, $args, $context, $info))。简单得到是:

function ($root, $args, $context, $info) {
    $path = $resolveInfo->path;
    // your decisioning

}

你会根据它做决定吗