<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [toc] #### 定義 schema 是你的類型層次結構的容器,它的構造函數接收根類型(root-level type),并且向內部GraphQL工具提供接收有關類型信息的方法。 schema 是 `GraphQL\Schema` ( 或其子類 )的實例,它的構造函數接收數組配制參數。 ~~~ $schema = new Schema([ 'query' => $queryType, 'mutation' => $mutationType, ]); ~~~ #### Query and Mutation types Schema由兩個` root types` 組成。 * Query type 是 read API 的接口 * Mutation type(可選) 是你應用中定義的所有可能的操作的公共的 write API 查詢和更改類型是包含你的API的`root-level fields`的常規 `object types `。 ~~~ use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\Type; use GraphQL\Schema; $queryType = new ObjectType([ 'name' => 'Query', 'fields' => [ 'hello' => [ 'type' => Type::string(), 'resolve' => function() { return 'Hello World!'; } ] 'hero' => [ 'type' => $characterInterface, 'args' => [ 'episode' => [ 'type' => $episodeEnum ] ], 'resolve' => function ($rootValue, $args) { return StarWarsData::getHero(isset($args['episode']) ? $args['episode'] : null); }, ] ] ]); $mutationType = new ObjectType([ 'name' => 'Mutation', 'fields' => [ 'createReviewForEpisode' => [ 'type' => $createReviewForEpisodeMutation, 'args' => [ 'episode' => $episodeEnum, 'review' => $reviewInputObject ], 'resolve' => function($val, $args) { // TODOC } ] ] ]); ~~~ 請注意:除了是聲明你的API接口的表層外,這些類型和其他的`object type`是一樣的,并且字段的工作也是一樣的。 `Mutation` 類型同樣僅僅是常規對象類型,區別在于主義,`Mutation`類型的字段名字通常是動詞 并且 他們幾乎總是有參數 - 一些常常是復雜輸入的值(`Input Types`,如新增一條數據) #### 配制項 | 名字 | 類型 | 描述 | | --- | --- | --- | | query | `ObjectType` | 包含 read API 的 root-level 字段的對象類型 (通常命名 "Query") | | mutation | `ObjectType` | 包含 write API 的 root-level 字段的對象類型 (通過命名 "Mutation")。 | | subscription | `ObjectType` | 預留供將來訂閱實現,當前提供是為了兼容 graphql-js 的內省查詢。 | | directives | `Directive[] ` | 你的schema支持的指令的完整列表。默認包含內建的 @skip and @include。<br>如是你要傳遞自己的指令并且仍然想使用內建的指定 :array_merge(GraphQL::getInternalDirectives(), [$myCustomDirective]) | | types | `ObjectType[]` | 在 靜態模式分析 (static schema analysis)期間無法由graphql檢測的對象類型列表。通常發生在對象類型沒有被字段直接引用,但是仍然是schema的一部分,這是因為它實現了接口(union type因為有types字段,可以被分析器檢測),接口在resolveType 回調中解析為這個對象類型。 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看