Могу ли я зарегистрировать несколько файлов схемы в config / lighthouse.php - PullRequest
1 голос
/ 05 октября 2019

Могу ли я зарегистрировать несколько файлов схемы в config / lighthouse.php

В config / lighthouse.php

'schema' => [
    'register' => base_path('graphql/schema.graphql'),
],

1 Ответ

0 голосов
/ 05 ноября 2019

Нет, но вы можете использовать импорт схемы .

Предположим, вы создали файлы схемы следующим образом:

graphql/
|-- schema.graphql
|-- user.graphql

Lighthouse считывает вашу схему из одной точки входав данном случае schema.graphql. Вы можете импортировать другие файлы схемы оттуда, чтобы разбить вашу схему на несколько файлов.

type Query {
  user: User
}

#import user.graphql

Импорт всегда начинается в отдельной строке с #import, за которым следует относительный путь к импортированному файлу. Содержимое user.graphql вставляется в окончательную схему.

type Query {
  user: User
}

type User {
    name: String!
}

Операторы импорта следуют рекурсивно, поэтому легко организовать даже самые сложные схемы.

Вы можететакже импортируйте несколько файлов, используя подстановочный синтаксис. Например, если у вас есть такие файлы схемы:

graphql/
  |-- schema.graphql
  |-- post/
    |-- post.graphql
    |-- category.graphql

Вместо того, чтобы называть каждый отдельный файл, вы можете импортировать несколько файлов, которые соответствуют шаблону. Он будет загружен с использованием функции PHP glob .

#import post/*.graphql
...