當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Type::isOutputType方法代碼示例

本文整理匯總了PHP中GraphQL\Type\Definition\Type::isOutputType方法的典型用法代碼示例。如果您正苦於以下問題:PHP Type::isOutputType方法的具體用法?PHP Type::isOutputType怎麽用?PHP Type::isOutputType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在GraphQL\Type\Definition\Type的用法示例。


在下文中一共展示了Type::isOutputType方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: noInputTypesAsOutputFieldsRule

 public static function noInputTypesAsOutputFieldsRule()
 {
     return function ($context) {
         $operationMayNotBeInputType = function (Type $type, $operation) {
             if (!Type::isOutputType($type)) {
                 return new Error("Schema {$operation} must be Object Type but got: {$type}.");
             }
             return null;
         };
         /** @var Schema $schema */
         $schema = $context['schema'];
         $typeMap = $schema->getTypeMap();
         $errors = [];
         $queryType = $schema->getQueryType();
         if ($queryType) {
             $queryError = $operationMayNotBeInputType($queryType, 'query');
             if ($queryError !== null) {
                 $errors[] = $queryError;
             }
         }
         $mutationType = $schema->getMutationType();
         if ($mutationType) {
             $mutationError = $operationMayNotBeInputType($mutationType, 'mutation');
             if ($mutationError !== null) {
                 $errors[] = $mutationError;
             }
         }
         $subscriptionType = $schema->getSubscriptionType();
         if ($subscriptionType) {
             $subscriptionError = $operationMayNotBeInputType($subscriptionType, 'subscription');
             if ($subscriptionError !== null) {
                 $errors[] = $subscriptionError;
             }
         }
         foreach ($typeMap as $typeName => $type) {
             if ($type instanceof ObjectType || $type instanceof InterfaceType) {
                 $fields = $type->getFields();
                 foreach ($fields as $fieldName => $field) {
                     if ($field->getType() instanceof InputObjectType) {
                         $errors[] = new Error("Field {$typeName}.{$field->name} is of type " . "{$field->getType()->name}, which is an input type, but field types " . "must be output types!");
                     }
                 }
             }
         }
         return !empty($errors) ? $errors : null;
     };
 }
開發者ID:webonyx,項目名稱:graphql-php,代碼行數:47,代碼來源:SchemaValidator.php

示例2: testIdentifiesOutputTypes

 public function testIdentifiesOutputTypes()
 {
     $expected = [[Type::int(), true], [$this->objectType, true], [$this->interfaceType, true], [$this->unionType, true], [$this->enumType, true], [$this->inputObjectType, false]];
     foreach ($expected as $index => $entry) {
         $this->assertSame($entry[1], Type::isOutputType($entry[0]), "Type {$entry[0]} was detected incorrectly");
     }
 }
開發者ID:rtuin,項目名稱:graphql-php,代碼行數:7,代碼來源:DefinitionTest.php


注:本文中的GraphQL\Type\Definition\Type::isOutputType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。