@@ -353,6 +353,9 @@ discard block |
||
| 353 | 353 | throw new \Exception(sprintf('Property "%s" not found in resolve result', $astField->getName())); |
| 354 | 354 | } |
| 355 | 355 | |
| 356 | + /** |
|
| 357 | + * @param string $path |
|
| 358 | + */ |
|
| 356 | 359 | protected function getPropertyValue($data, $path) |
| 357 | 360 | { |
| 358 | 361 | if (is_object($data)) { |
@@ -398,8 +401,8 @@ discard block |
||
| 398 | 401 | } |
| 399 | 402 | |
| 400 | 403 | /** |
| 401 | - * @param $field Field |
|
| 402 | - * @param $query Query |
|
| 404 | + * @param Field $field Field |
|
| 405 | + * @param Query $query Query |
|
| 403 | 406 | * |
| 404 | 407 | * @return array |
| 405 | 408 | */ |
@@ -418,7 +421,7 @@ discard block |
||
| 418 | 421 | } |
| 419 | 422 | |
| 420 | 423 | /** |
| 421 | - * @param $query Query |
|
| 424 | + * @param Query $query Query |
|
| 422 | 425 | * @param $queryType ObjectType|TypeInterface|Field |
| 423 | 426 | * @param $resolvedValue mixed |
| 424 | 427 | * @param $value array |
@@ -157,7 +157,7 @@ discard block |
||
| 157 | 157 | */ |
| 158 | 158 | protected function executeMutation(Mutation $mutation, $currentLevelSchema) |
| 159 | 159 | { |
| 160 | - if (!$currentLevelSchema) throw new ConfigurationException('There is no mutation '. $mutation->getName()); |
|
| 160 | + if (!$currentLevelSchema) throw new ConfigurationException('There is no mutation '.$mutation->getName()); |
|
| 161 | 161 | |
| 162 | 162 | if (!$this->resolveValidator->checkFieldExist($currentLevelSchema, $mutation)) { |
| 163 | 163 | return null; |
@@ -245,7 +245,7 @@ discard block |
||
| 245 | 245 | } |
| 246 | 246 | } elseif ($field->getType()->getKind() == TypeMap::KIND_NON_NULL) { |
| 247 | 247 | if (!$field->getType()->isValidValue($preResolvedValue)) { |
| 248 | - $this->resolveValidator->addError(new ResolveException(sprintf('Cannot return null for non-nullable field %s', $astField->getName() . '.' . $field->getName()))); |
|
| 248 | + $this->resolveValidator->addError(new ResolveException(sprintf('Cannot return null for non-nullable field %s', $astField->getName().'.'.$field->getName()))); |
|
| 249 | 249 | } elseif (!$field->getType()->getNullableType()->isValidValue($preResolvedValue)) { |
| 250 | 250 | $this->resolveValidator->addError(new ResolveException(sprintf('Not valid value for %s field %s', $field->getType()->getNullableType()->getKind(), $field->getName()))); |
| 251 | 251 | $value = null; |
@@ -356,7 +356,7 @@ discard block |
||
| 356 | 356 | protected function getPropertyValue($data, $path) |
| 357 | 357 | { |
| 358 | 358 | if (is_object($data)) { |
| 359 | - $getter = 'get' . $this->classify($path); |
|
| 359 | + $getter = 'get'.$this->classify($path); |
|
| 360 | 360 | |
| 361 | 361 | return is_callable([$data, $getter]) ? $data->$getter() : null; |
| 362 | 362 | } elseif (is_array($data)) { |
@@ -81,7 +81,9 @@ discard block |
||
| 81 | 81 | |
| 82 | 82 | public function processRequest($payload, $variables = []) |
| 83 | 83 | { |
| 84 | - if ($this->hasErrors()) return $this; |
|
| 84 | + if ($this->hasErrors()) { |
|
| 85 | + return $this; |
|
| 86 | + } |
|
| 85 | 87 | |
| 86 | 88 | $this->data = []; |
| 87 | 89 | |
@@ -157,7 +159,9 @@ discard block |
||
| 157 | 159 | */ |
| 158 | 160 | protected function executeMutation(Mutation $mutation, $currentLevelSchema) |
| 159 | 161 | { |
| 160 | - if (!$currentLevelSchema) throw new ConfigurationException('There is no mutation '. $mutation->getName()); |
|
| 162 | + if (!$currentLevelSchema) { |
|
| 163 | + throw new ConfigurationException('There is no mutation '. $mutation->getName()); |
|
| 164 | + } |
|
| 161 | 165 | |
| 162 | 166 | if (!$this->resolveValidator->checkFieldExist($currentLevelSchema, $mutation)) { |
| 163 | 167 | return null; |
@@ -11,7 +11,6 @@ |
||
| 11 | 11 | |
| 12 | 12 | use Youshido\GraphQL\Type\Config\Config; |
| 13 | 13 | use Youshido\GraphQL\Type\Object\AbstractObjectType; |
| 14 | -use Youshido\GraphQL\Type\Object\InputObjectType; |
|
| 15 | 14 | use Youshido\GraphQL\Type\Object\ObjectType; |
| 16 | 15 | use Youshido\GraphQL\Type\TypeMap; |
| 17 | 16 | |
@@ -55,6 +55,9 @@ |
||
| 55 | 55 | return $this; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | + /** |
|
| 59 | + * @param AbstractObjectType $value |
|
| 60 | + */ |
|
| 58 | 61 | public function isValidValue($value) |
| 59 | 62 | { |
| 60 | 63 | if ($value instanceof AbstractObjectType) { |
@@ -58,7 +58,7 @@ |
||
| 58 | 58 | public function isValidValue($value) |
| 59 | 59 | { |
| 60 | 60 | if ($value instanceof AbstractObjectType) { |
| 61 | - foreach($value->getInterfaces() as $interface) { |
|
| 61 | + foreach ($value->getInterfaces() as $interface) { |
|
| 62 | 62 | if ($interface instanceof $this) return true; |
| 63 | 63 | } |
| 64 | 64 | } |
@@ -59,7 +59,9 @@ |
||
| 59 | 59 | { |
| 60 | 60 | if ($value instanceof AbstractObjectType) { |
| 61 | 61 | foreach($value->getInterfaces() as $interface) { |
| 62 | - if ($interface instanceof $this) return true; |
|
| 62 | + if ($interface instanceof $this) { |
|
| 63 | + return true; |
|
| 64 | + } |
|
| 63 | 65 | } |
| 64 | 66 | } |
| 65 | 67 | return false; |
@@ -12,7 +12,6 @@ |
||
| 12 | 12 | use Youshido\GraphQL\Type\AbstractType; |
| 13 | 13 | use Youshido\GraphQL\Type\Config\Object\UnionTypeConfig; |
| 14 | 14 | use Youshido\GraphQL\Type\Config\Traits\ConfigCallTrait; |
| 15 | -use Youshido\GraphQL\Type\Config\TypeConfigInterface; |
|
| 16 | 15 | use Youshido\GraphQL\Type\Traits\AutoNameTrait; |
| 17 | 16 | use Youshido\GraphQL\Type\TypeMap; |
| 18 | 17 | |
@@ -11,15 +11,10 @@ |
||
| 11 | 11 | |
| 12 | 12 | use Youshido\GraphQL\Type\AbstractType; |
| 13 | 13 | use Youshido\GraphQL\Type\Config\Field\FieldConfig; |
| 14 | -use Youshido\GraphQL\Type\Config\Field\InputFieldConfig; |
|
| 15 | 14 | use Youshido\GraphQL\Type\Field\Field; |
| 16 | 15 | use Youshido\GraphQL\Type\Field\InputField; |
| 17 | -use Youshido\GraphQL\Type\Object\AbstractEnumType; |
|
| 18 | 16 | use Youshido\GraphQL\Type\Object\AbstractInputObjectType; |
| 19 | -use Youshido\GraphQL\Type\Object\AbstractInterfaceType; |
|
| 20 | 17 | use Youshido\GraphQL\Type\Object\AbstractObjectType; |
| 21 | -use Youshido\GraphQL\Type\Object\AbstractUnionType; |
|
| 22 | -use Youshido\GraphQL\Type\Scalar\AbstractScalarType; |
|
| 23 | 18 | use Youshido\GraphQL\Type\TypeMap; |
| 24 | 19 | use Youshido\GraphQL\Validator\Exception\ConfigurationException; |
| 25 | 20 | |
@@ -84,7 +84,9 @@ discard block |
||
| 84 | 84 | |
| 85 | 85 | private function isArrayOfValues($data) |
| 86 | 86 | { |
| 87 | - if (!is_array($data)) return false; |
|
| 87 | + if (!is_array($data)) { |
|
| 88 | + return false; |
|
| 89 | + } |
|
| 88 | 90 | |
| 89 | 91 | foreach ($data as $item) { |
| 90 | 92 | if (!array_key_exists('value', $item)) { |
@@ -97,7 +99,9 @@ discard block |
||
| 97 | 99 | |
| 98 | 100 | private static function isArrayOfInterfaces($data) |
| 99 | 101 | { |
| 100 | - if (!is_array($data)) return false; |
|
| 102 | + if (!is_array($data)) { |
|
| 103 | + return false; |
|
| 104 | + } |
|
| 101 | 105 | |
| 102 | 106 | foreach ($data as $item) { |
| 103 | 107 | if (!TypeMap::isInterface($item)) { |
@@ -110,10 +114,14 @@ discard block |
||
| 110 | 114 | |
| 111 | 115 | private function isArrayOfFields($data) |
| 112 | 116 | { |
| 113 | - if (!is_array($data)) return false; |
|
| 117 | + if (!is_array($data)) { |
|
| 118 | + return false; |
|
| 119 | + } |
|
| 114 | 120 | |
| 115 | 121 | foreach ($data as $name => $item) { |
| 116 | - if (!$this->isField($item, $name)) return false; |
|
| 122 | + if (!$this->isField($item, $name)) { |
|
| 123 | + return false; |
|
| 124 | + } |
|
| 117 | 125 | } |
| 118 | 126 | |
| 119 | 127 | return true; |
@@ -127,7 +135,9 @@ discard block |
||
| 127 | 135 | |
| 128 | 136 | try { |
| 129 | 137 | /** @todo need to change it to optimize performance */ |
| 130 | - if (empty($data['name'])) $data['name'] = $name; |
|
| 138 | + if (empty($data['name'])) { |
|
| 139 | + $data['name'] = $name; |
|
| 140 | + } |
|
| 131 | 141 | |
| 132 | 142 | $config = new FieldConfig($data); |
| 133 | 143 | |
@@ -141,10 +151,14 @@ discard block |
||
| 141 | 151 | |
| 142 | 152 | private function isArrayOfInputs($data) |
| 143 | 153 | { |
| 144 | - if (!is_array($data)) return false; |
|
| 154 | + if (!is_array($data)) { |
|
| 155 | + return false; |
|
| 156 | + } |
|
| 145 | 157 | |
| 146 | 158 | foreach ($data as $name => $item) { |
| 147 | - if (!$this->isInputField($item, $name)) return false; |
|
| 159 | + if (!$this->isInputField($item, $name)) { |
|
| 160 | + return false; |
|
| 161 | + } |
|
| 148 | 162 | } |
| 149 | 163 | |
| 150 | 164 | return true; |
@@ -51,7 +51,8 @@ |
||
| 51 | 51 | /** |
| 52 | 52 | * @param Field $intField |
| 53 | 53 | * @param Field $objField |
| 54 | - * @return bool |
|
| 54 | + * @param \Youshido\GraphQL\Type\Object\AbstractInterfaceType $interface |
|
| 55 | + * @return boolean|null |
|
| 55 | 56 | * @throws ConfigurationException |
| 56 | 57 | */ |
| 57 | 58 | protected function assertFieldsIdentical($intField, $objField, $interface) |
@@ -39,7 +39,9 @@ |
||
| 39 | 39 | |
| 40 | 40 | protected function assertInterfaceImplementationCorrect(AbstractObjectType $type) |
| 41 | 41 | { |
| 42 | - if (!$type->getInterfaces()) return true; |
|
| 42 | + if (!$type->getInterfaces()) { |
|
| 43 | + return true; |
|
| 44 | + } |
|
| 43 | 45 | |
| 44 | 46 | foreach ($type->getInterfaces() as $interface) { |
| 45 | 47 | foreach ($interface->getConfig()->getFields() as $intField) { |
@@ -12,16 +12,16 @@ |
||
| 12 | 12 | use Youshido\GraphQL\Type\ListType\ListType; |
| 13 | 13 | use Youshido\GraphQL\Type\Object\ObjectType; |
| 14 | 14 | |
| 15 | -require_once __DIR__ . '/../../vendor/autoload.php'; |
|
| 16 | -require_once __DIR__ . '/Schema/DataProvider.php'; |
|
| 17 | -require_once __DIR__ . '/Schema/PostType.php'; |
|
| 18 | -require_once __DIR__ . '/Schema/PostStatus.php'; |
|
| 19 | -require_once __DIR__ . '/Schema/ContentBlockInterface.php'; |
|
| 20 | -require_once __DIR__ . '/Schema/LikePost.php'; |
|
| 21 | -require_once __DIR__ . '/Schema/BannerType.php'; |
|
| 22 | -require_once __DIR__ . '/Schema/ContentBlockUnion.php'; |
|
| 23 | -require_once __DIR__ . '/Schema/PostInputType.php'; |
|
| 24 | -require_once __DIR__ . '/Schema/BlogSchema.php'; |
|
| 15 | +require_once __DIR__.'/../../vendor/autoload.php'; |
|
| 16 | +require_once __DIR__.'/Schema/DataProvider.php'; |
|
| 17 | +require_once __DIR__.'/Schema/PostType.php'; |
|
| 18 | +require_once __DIR__.'/Schema/PostStatus.php'; |
|
| 19 | +require_once __DIR__.'/Schema/ContentBlockInterface.php'; |
|
| 20 | +require_once __DIR__.'/Schema/LikePost.php'; |
|
| 21 | +require_once __DIR__.'/Schema/BannerType.php'; |
|
| 22 | +require_once __DIR__.'/Schema/ContentBlockUnion.php'; |
|
| 23 | +require_once __DIR__.'/Schema/PostInputType.php'; |
|
| 24 | +require_once __DIR__.'/Schema/BlogSchema.php'; |
|
| 25 | 25 | |
| 26 | 26 | /** |
| 27 | 27 | $rootQueryType = new ObjectType([ |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | use Youshido\GraphQL\Processor; |
| 7 | 7 | use Youshido\GraphQL\Schema; |
| 8 | 8 | |
| 9 | -require_once __DIR__ . '/schema-bootstrap.php'; |
|
| 9 | +require_once __DIR__.'/schema-bootstrap.php'; |
|
| 10 | 10 | /** @var Schema $schema */ |
| 11 | 11 | $schema = new BlogSchema(); |
| 12 | 12 | |
@@ -20,4 +20,4 @@ discard block |
||
| 20 | 20 | $payload = '{ pageContentInterface { title} }'; |
| 21 | 21 | $response = $processor->processRequest($payload, [])->getResponseData(); |
| 22 | 22 | |
| 23 | -echo json_encode($response) . "\n\n"; |
|
| 23 | +echo json_encode($response)."\n\n"; |
|
@@ -11,7 +11,7 @@ |
||
| 11 | 11 | use Youshido\GraphQL\Processor; |
| 12 | 12 | use Youshido\GraphQL\Schema; |
| 13 | 13 | |
| 14 | -require_once __DIR__ . '/schema-bootstrap.php'; |
|
| 14 | +require_once __DIR__.'/schema-bootstrap.php'; |
|
| 15 | 15 | /** @var Schema $schema */ |
| 16 | 16 | $schema = new BlogSchema(); |
| 17 | 17 | |
@@ -18,19 +18,19 @@ |
||
| 18 | 18 | 'latestPost' => new PostType(), |
| 19 | 19 | 'randomBanner' => [ |
| 20 | 20 | 'type' => new BannerType(), |
| 21 | - 'resolve' => function () { |
|
| 21 | + 'resolve' => function() { |
|
| 22 | 22 | return DataProvider::getBanner(rand(1, 10)); |
| 23 | 23 | } |
| 24 | 24 | ], |
| 25 | 25 | 'pageContentUnion' => [ |
| 26 | 26 | 'type' => new ListType(new ContentBlockUnion()), |
| 27 | - 'resolve' => function () { |
|
| 27 | + 'resolve' => function() { |
|
| 28 | 28 | return [DataProvider::getPost(1), DataProvider::getBanner(1)]; |
| 29 | 29 | } |
| 30 | 30 | ], |
| 31 | 31 | 'pageContentInterface' => [ |
| 32 | 32 | 'type' => new ListType(new ContentBlockInterface()), |
| 33 | - 'resolve' => function () { |
|
| 33 | + 'resolve' => function() { |
|
| 34 | 34 | return [DataProvider::getPost(2), DataProvider::getBanner(3)]; |
| 35 | 35 | } |
| 36 | 36 | ] |