@@ -37,7 +37,7 @@ |
||
37 | 37 | return false; |
38 | 38 | } |
39 | 39 | |
40 | - $requiredFields = array_filter($this->getConfig()->getFields(), function (Field $field) { |
|
40 | + $requiredFields = array_filter($this->getConfig()->getFields(), function(Field $field) { |
|
41 | 41 | return $field->getConfig()->isRequired(); |
42 | 42 | }); |
43 | 43 |
@@ -1,7 +1,6 @@ |
||
1 | 1 | <?php |
2 | 2 | namespace BlogTest; |
3 | 3 | |
4 | -use Youshido\GraphQL\Type\NonNullType; |
|
5 | 4 | use Youshido\GraphQL\Type\Object\ObjectType; |
6 | 5 | use Youshido\GraphQL\Type\Scalar\BooleanType; |
7 | 6 | use Youshido\GraphQL\Type\Scalar\IntType; |
@@ -17,16 +17,16 @@ discard block |
||
17 | 17 | 'fields' => [ |
18 | 18 | // here you have a complex field with a lot of options |
19 | 19 | 'title' => [ |
20 | - 'type' => new StringType(), // string type |
|
21 | - 'description' => 'This field contains a post title', // description |
|
22 | - 'isDeprecated' => true, // marked as deprecated |
|
23 | - 'deprecationReason' => 'field title is now deprecated', // explain the reason |
|
20 | + 'type' => new StringType(), // string type |
|
21 | + 'description' => 'This field contains a post title', // description |
|
22 | + 'isDeprecated' => true, // marked as deprecated |
|
23 | + 'deprecationReason' => 'field title is now deprecated', // explain the reason |
|
24 | 24 | 'args' => [ |
25 | 25 | 'truncated' => new BooleanType() // add an optional argument |
26 | 26 | ], |
27 | - 'resolve' => function ($value, $args) { |
|
27 | + 'resolve' => function($value, $args) { |
|
28 | 28 | // used argument to modify a field value |
29 | - return (!empty($args['truncated'])) ? explode(' ', $value)[0] . '...' : $value; |
|
29 | + return (!empty($args['truncated'])) ? explode(' ', $value)[0].'...' : $value; |
|
30 | 30 | } |
31 | 31 | ], |
32 | 32 | // if field just has a type, you can use a short declaration syntax like this |
@@ -38,7 +38,7 @@ discard block |
||
38 | 38 | 'id' => new IntType() |
39 | 39 | ], |
40 | 40 | // resolve function for the query |
41 | - 'resolve' => function ($value, $args, $type) { |
|
41 | + 'resolve' => function($value, $args, $type) { |
|
42 | 42 | return [ |
43 | 43 | 'title' => 'Title for the latest Post', |
44 | 44 | 'summary' => 'Post summary', |
@@ -45,6 +45,9 @@ |
||
45 | 45 | { |
46 | 46 | } |
47 | 47 | |
48 | + /** |
|
49 | + * @param string $name |
|
50 | + */ |
|
48 | 51 | public function addQuery($name, AbstractObjectType $query) |
49 | 52 | { |
50 | 53 | $this->getQueryType()->getConfig()->addField($name, $query); |
@@ -22,10 +22,10 @@ |
||
22 | 22 | public function __construct($config = []) |
23 | 23 | { |
24 | 24 | if (!array_key_exists('query', $config)) { |
25 | - $config['query'] = new ObjectType(['name' => $this->getName() . 'Query']); |
|
25 | + $config['query'] = new ObjectType(['name' => $this->getName().'Query']); |
|
26 | 26 | } |
27 | 27 | if (!array_key_exists('mutation', $config)) { |
28 | - $config['mutation'] = new ObjectType(['name' => $this->getName() . 'Mutation']); |
|
28 | + $config['mutation'] = new ObjectType(['name' => $this->getName().'Mutation']); |
|
29 | 29 | } |
30 | 30 | |
31 | 31 | $this->config = new SchemaConfig($config, $this); |
@@ -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; |
@@ -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) { |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | use Youshido\GraphQL\Type\Object\ObjectType; |
7 | 7 | use Youshido\GraphQL\Type\Scalar\StringType; |
8 | 8 | |
9 | -require_once __DIR__ . '/../../vendor/autoload.php'; |
|
9 | +require_once __DIR__.'/../../vendor/autoload.php'; |
|
10 | 10 | |
11 | 11 | $processor = new Processor(); |
12 | 12 | $processor->setSchema(new Schema([ |
@@ -24,4 +24,4 @@ discard block |
||
24 | 24 | ])); |
25 | 25 | |
26 | 26 | $res = $processor->processRequest('{ currentTime }')->getResponseData(); |
27 | -echo json_encode($res) . "\n\n"; |
|
27 | +echo json_encode($res)."\n\n"; |