Passed
Pull Request — master (#1045)
by Aleksei
09:49
created
src/Core/src/Internal/Proxy/ProxyTrait.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@
 block discarded – undo
13 13
 trait ProxyTrait
14 14
 {
15 15
     private static string $__container_proxy_alias;
16
-    private \Stringable|string|null $__container_proxy_context = null;
16
+    private \Stringable | string | null $__container_proxy_context = null;
17 17
 
18 18
     public function __call(string $name, array $arguments)
19 19
     {
Please login to merge, or discard this patch.
src/Core/src/Internal/Factory.php 2 patches
Spacing   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -66,19 +66,19 @@  discard block
 block discarded – undo
66 66
      *
67 67
      * @throws \Throwable
68 68
      */
69
-    public function make(string $alias, array $parameters = [], Stringable|string|null $context = null): mixed
69
+    public function make(string $alias, array $parameters = [], Stringable | string | null $context = null): mixed
70 70
     {
71
-        if ($parameters === [] && \array_key_exists($alias, $this->state->singletons)) {
71
+        if ($parameters === [] && \array_key_exists($alias, $this->state->singletons)){
72 72
             return $this->state->singletons[$alias];
73 73
         }
74 74
 
75 75
         $binding = $this->state->bindings[$alias] ?? null;
76 76
 
77
-        if ($binding === null) {
77
+        if ($binding === null){
78 78
             return $this->resolveWithoutBinding($alias, $parameters, $context);
79 79
         }
80 80
 
81
-        try {
81
+        try{
82 82
             $this->tracer->push(
83 83
                 false,
84 84
                 action: 'resolve from binding',
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
                     ->resolveWeakReference($binding, $alias, $context, $parameters),
107 107
                 default => $binding,
108 108
             };
109
-        } finally {
109
+        }finally{
110 110
             $this->state->bindings[$alias] ??= $binding;
111 111
             $this->tracer->pop(true);
112 112
             $this->tracer->pop(false);
@@ -120,18 +120,18 @@  discard block
 block discarded – undo
120 120
     private function resolveInjector(Injectable $binding, Ctx $ctx, array $arguments)
121 121
     {
122 122
         $context = $ctx->context;
123
-        try {
123
+        try{
124 124
             $reflection = $ctx->reflection ??= new \ReflectionClass($ctx->class);
125
-        } catch (\ReflectionException $e) {
125
+        }catch (\ReflectionException $e){
126 126
             throw new ContainerException($e->getMessage(), $e->getCode(), $e);
127 127
         }
128 128
 
129 129
         $injector = $binding->injector;
130 130
 
131
-        try {
131
+        try{
132 132
             $injectorInstance = \is_object($injector) ? $injector : $this->container->get($injector);
133 133
 
134
-            if (!$injectorInstance instanceof InjectorInterface) {
134
+            if (!$injectorInstance instanceof InjectorInterface){
135 135
                 throw new InjectionException(
136 136
                     \sprintf(
137 137
                         "Class '%s' must be an instance of InjectorInterface for '%s'.",
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
                 default => (string)$context,
159 159
             });
160 160
 
161
-            if (!$reflection->isInstance($instance)) {
161
+            if (!$reflection->isInstance($instance)){
162 162
                 throw new InjectionException(
163 163
                     \sprintf(
164 164
                         "Invalid injection response for '%s'.",
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
             }
169 169
 
170 170
             return $instance;
171
-        } finally {
171
+        }finally{
172 172
             $this->state->bindings[$ctx->class] ??= $binding;
173 173
         }
174 174
     }
@@ -176,18 +176,18 @@  discard block
 block discarded – undo
176 176
     private function resolveAlias(
177 177
         \Spiral\Core\Config\Alias $binding,
178 178
         string $alias,
179
-        Stringable|string|null $context,
179
+        Stringable | string | null $context,
180 180
         array $arguments,
181 181
     ): mixed {
182 182
         $result = $binding->alias === $alias
183 183
             ? $this->autowire(
184
-                new Ctx(alias: $alias, class: $binding->alias, context: $context, singleton: $binding->singleton),
184
+                new Ctx(alias : $alias, class : $binding->alias, context : $context, singleton : $binding->singleton),
185 185
                 $arguments,
186 186
             )
187 187
             //Binding is pointing to something else
188 188
             : $this->make($binding->alias, $arguments, $context);
189 189
 
190
-        if ($binding->singleton && $arguments === []) {
190
+        if ($binding->singleton && $arguments === []){
191 191
             $this->state->singletons[$alias] = $result;
192 192
         }
193 193
 
@@ -197,13 +197,13 @@  discard block
 block discarded – undo
197 197
     private function resolveShared(
198 198
         \Spiral\Core\Config\Shared $binding,
199 199
         string $alias,
200
-        Stringable|string|null $context,
200
+        Stringable | string | null $context,
201 201
         array $arguments,
202 202
     ): object {
203 203
         $avoidCache = $arguments !== [];
204 204
         return $avoidCache
205 205
             ? $this->createInstance(
206
-                new Ctx(alias: $alias, class: $binding->value::class, context: $context),
206
+                new Ctx(alias : $alias, class : $binding->value::class, context : $context),
207 207
                 $arguments,
208 208
             )
209 209
             : $binding->value;
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
     private function resolveAutowire(
213 213
         \Spiral\Core\Config\Autowire $binding,
214 214
         string $alias,
215
-        Stringable|string|null $context,
215
+        Stringable | string | null $context,
216 216
         array $arguments,
217 217
     ): mixed {
218 218
         $instance = $binding->autowire->resolve($this, $arguments);
@@ -222,17 +222,17 @@  discard block
 block discarded – undo
222 222
     }
223 223
 
224 224
     private function resolveFactory(
225
-        \Spiral\Core\Config\Factory|DeferredFactory $binding,
225
+        \Spiral\Core\Config\Factory | DeferredFactory $binding,
226 226
         string $alias,
227
-        Stringable|string|null $context,
227
+        Stringable | string | null $context,
228 228
         array $arguments,
229 229
     ): mixed {
230 230
         $ctx = new Ctx(alias: $alias, class: $alias, context: $context, singleton: $binding->singleton);
231
-        try {
231
+        try{
232 232
             $instance = $binding::class === \Spiral\Core\Config\Factory::class && $binding->getParametersCount() === 0
233 233
                 ? ($binding->factory)()
234 234
                 : $this->invoker->invoke($binding->factory, $arguments);
235
-        } catch (NotCallableException $e) {
235
+        }catch (NotCallableException $e){
236 236
             throw new ContainerException(
237 237
                 $this->tracer->combineTraceMessage(\sprintf('Invalid binding for `%s`.', $ctx->alias)),
238 238
                 $e->getCode(),
@@ -246,24 +246,24 @@  discard block
 block discarded – undo
246 246
     private function resolveWeakReference(
247 247
         \Spiral\Core\Config\WeakReference $binding,
248 248
         string $alias,
249
-        Stringable|string|null $context,
249
+        Stringable | string | null $context,
250 250
         array $arguments,
251 251
     ): ?object {
252 252
         $avoidCache = $arguments !== [];
253 253
 
254
-        if (($avoidCache || $binding->reference->get() === null) && \class_exists($alias)) {
255
-            try {
254
+        if (($avoidCache || $binding->reference->get() === null) && \class_exists($alias)){
255
+            try{
256 256
                 $this->tracer->push(false, alias: $alias, source: WeakReference::class, context: $context);
257 257
 
258 258
                 $object = $this->createInstance(
259 259
                     new Ctx(alias: $alias, class: $alias, context: $context),
260 260
                     $arguments,
261 261
                 );
262
-                if ($avoidCache) {
262
+                if ($avoidCache){
263 263
                     return $object;
264 264
                 }
265 265
                 $binding->reference = WeakReference::create($object);
266
-            } catch (\Throwable) {
266
+            }catch (\Throwable){
267 267
                 throw new ContainerException(
268 268
                     $this->tracer->combineTraceMessage(
269 269
                         \sprintf(
@@ -273,7 +273,7 @@  discard block
 block discarded – undo
273 273
                         )
274 274
                     )
275 275
                 );
276
-            } finally {
276
+            }finally{
277 277
                 $this->tracer->pop();
278 278
             }
279 279
         }
@@ -284,22 +284,22 @@  discard block
 block discarded – undo
284 284
     private function resolveWithoutBinding(
285 285
         string $alias,
286 286
         array $parameters = [],
287
-        Stringable|string|null $context = null
287
+        Stringable | string | null $context = null
288 288
     ): mixed {
289 289
         $parent = $this->scope->getParent();
290 290
 
291
-        if ($parent !== null) {
292
-            try {
291
+        if ($parent !== null){
292
+            try{
293 293
                 $this->tracer->push(false, ...[
294 294
                     'current scope' => $this->scope->getScopeName(),
295 295
                     'jump to parent scope' => $this->scope->getParentScope()->getScopeName(),
296 296
                 ]);
297 297
                 return $parent->make($alias, $parameters, $context);
298
-            } catch (BadScopeException $e) {
299
-                if ($this->scope->getScopeName() !== $e->getScope()) {
298
+            }catch (BadScopeException $e){
299
+                if ($this->scope->getScopeName() !== $e->getScope()){
300 300
                     throw $e;
301 301
                 }
302
-            } catch (ContainerExceptionInterface $e) {
302
+            }catch (ContainerExceptionInterface $e){
303 303
                 $className = match (true) {
304 304
                     $e instanceof NotFoundException => NotFoundException::class,
305 305
                     default => ContainerException::class,
@@ -308,19 +308,19 @@  discard block
 block discarded – undo
308 308
                     'Can\'t resolve `%s`.',
309 309
                     $alias,
310 310
                 )), previous: $e);
311
-            } finally {
311
+            }finally{
312 312
                 $this->tracer->pop(false);
313 313
             }
314 314
         }
315 315
 
316 316
         $this->tracer->push(false, action: 'autowire', alias: $alias, context: $context);
317
-        try {
317
+        try{
318 318
             //No direct instructions how to construct class, make is automatically
319 319
             return $this->autowire(
320 320
                 new Ctx(alias: $alias, class: $alias, context: $context),
321 321
                 $parameters,
322 322
             );
323
-        } finally {
323
+        }finally{
324 324
             $this->tracer->pop(false);
325 325
         }
326 326
     }
@@ -341,7 +341,7 @@  discard block
 block discarded – undo
341 341
                 &&
342 342
                 (isset($this->state->injectors[$ctx->class]) || $this->binder->hasInjector($ctx->class))
343 343
         ))
344
-        ) {
344
+        ){
345 345
             throw new NotFoundException($this->tracer->combineTraceMessage(\sprintf(
346 346
                 'Can\'t resolve `%s`: undefined class or binding `%s`.',
347 347
                 $this->tracer->getRootAlias(),
@@ -370,7 +370,7 @@  discard block
 block discarded – undo
370 370
         // Check scope name
371 371
         $ctx->reflection = new \ReflectionClass($instance);
372 372
         $scopeName = ($ctx->reflection->getAttributes(ScopeAttribute::class)[0] ?? null)?->newInstance()->name;
373
-        if ($scopeName !== null && $scopeName !== $this->scope->getScopeName()) {
373
+        if ($scopeName !== null && $scopeName !== $this->scope->getScopeName()){
374 374
             throw new BadScopeException($scopeName, $instance::class);
375 375
         }
376 376
 
@@ -397,24 +397,24 @@  discard block
 block discarded – undo
397 397
         array $arguments,
398 398
     ): object {
399 399
         $class = $ctx->class;
400
-        try {
400
+        try{
401 401
             $ctx->reflection = $reflection = new \ReflectionClass($class);
402
-        } catch (\ReflectionException $e) {
402
+        }catch (\ReflectionException $e){
403 403
             throw new ContainerException($e->getMessage(), $e->getCode(), $e);
404 404
         }
405 405
 
406 406
         // Check scope name
407 407
         $scope = ($reflection->getAttributes(ScopeAttribute::class)[0] ?? null)?->newInstance()->name;
408
-        if ($scope !== null && $scope !== $this->scope->getScopeName()) {
408
+        if ($scope !== null && $scope !== $this->scope->getScopeName()){
409 409
             throw new BadScopeException($scope, $class);
410 410
         }
411 411
 
412 412
         // We have to construct class using external injector when we know the exact context
413
-        if ($arguments === [] && $this->binder->hasInjector($class)) {
413
+        if ($arguments === [] && $this->binder->hasInjector($class)){
414 414
             return $this->resolveInjector($this->state->bindings[$ctx->class], $ctx, $arguments);
415 415
         }
416 416
 
417
-        if (!$reflection->isInstantiable()) {
417
+        if (!$reflection->isInstantiable()){
418 418
             $itIs = match (true) {
419 419
                 $reflection->isEnum() => 'Enum',
420 420
                 $reflection->isAbstract() => 'Abstract class',
@@ -427,12 +427,12 @@  discard block
 block discarded – undo
427 427
 
428 428
         $constructor = $reflection->getConstructor();
429 429
 
430
-        if ($constructor !== null) {
431
-            try {
430
+        if ($constructor !== null){
431
+            try{
432 432
                 $this->tracer->push(false, action: 'resolve arguments', signature: $constructor);
433 433
                 $this->tracer->push(true);
434 434
                 $args = $this->resolver->resolveArguments($constructor, $arguments);
435
-            } catch (ValidationException $e) {
435
+            }catch (ValidationException $e){
436 436
                 throw new ContainerException(
437 437
                     $this->tracer->combineTraceMessage(
438 438
                         \sprintf(
@@ -442,22 +442,22 @@  discard block
 block discarded – undo
442 442
                         )
443 443
                     ),
444 444
                 );
445
-            } finally {
445
+            }finally{
446 446
                 $this->tracer->pop(true);
447 447
                 $this->tracer->pop(false);
448 448
             }
449
-            try {
449
+            try{
450 450
                 // Using constructor with resolved arguments
451 451
                 $this->tracer->push(false, call: "$class::__construct", arguments: $args);
452 452
                 $this->tracer->push(true);
453 453
                 $instance = new $class(...$args);
454
-            } catch (\TypeError $e) {
454
+            }catch (\TypeError $e){
455 455
                 throw new WrongTypeException($constructor, $e);
456
-            } finally {
456
+            }finally{
457 457
                 $this->tracer->pop(true);
458 458
                 $this->tracer->pop(false);
459 459
             }
460
-        } else {
460
+        }else{
461 461
             // No constructor specified
462 462
             $instance = $reflection->newInstance();
463 463
         }
@@ -475,13 +475,13 @@  discard block
 block discarded – undo
475 475
         $instance = $this->runInflector($instance);
476 476
 
477 477
         //Declarative singletons
478
-        if ($this->isSingleton($ctx)) {
478
+        if ($this->isSingleton($ctx)){
479 479
             $this->state->singletons[$ctx->alias] = $instance;
480 480
         }
481 481
 
482 482
         // Register finalizer
483 483
         $finalizer = $this->getFinalizer($ctx, $instance);
484
-        if ($finalizer !== null) {
484
+        if ($finalizer !== null){
485 485
             $this->state->finalizers[] = $finalizer;
486 486
         }
487 487
 
@@ -493,12 +493,12 @@  discard block
 block discarded – undo
493 493
      */
494 494
     private function isSingleton(Ctx $ctx): bool
495 495
     {
496
-        if ($ctx->singleton === true) {
496
+        if ($ctx->singleton === true){
497 497
             return true;
498 498
         }
499 499
 
500 500
         /** @psalm-suppress RedundantCondition https://github.com/vimeo/psalm/issues/9489 */
501
-        if ($ctx->reflection->implementsInterface(SingletonInterface::class)) {
501
+        if ($ctx->reflection->implementsInterface(SingletonInterface::class)){
502 502
             return true;
503 503
         }
504 504
 
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
          * @var Finalize|null $attribute
513 513
          */
514 514
         $attribute = ($ctx->reflection->getAttributes(Finalize::class)[0] ?? null)?->newInstance();
515
-        if ($attribute === null) {
515
+        if ($attribute === null){
516 516
             return null;
517 517
         }
518 518
 
@@ -526,10 +526,10 @@  discard block
 block discarded – undo
526 526
     {
527 527
         $scope = $this->scope;
528 528
 
529
-        while ($scope !== null) {
530
-            foreach ($this->state->inflectors as $class => $inflectors) {
531
-                if ($instance instanceof $class) {
532
-                    foreach ($inflectors as $inflector) {
529
+        while ($scope !== null){
530
+            foreach ($this->state->inflectors as $class => $inflectors){
531
+                if ($instance instanceof $class){
532
+                    foreach ($inflectors as $inflector){
533 533
                         $instance = $inflector->getParametersCount() > 1
534 534
                             ? $this->invoker->invoke($inflector->inflector, [$instance])
535 535
                             : ($inflector->inflector)($instance);
@@ -545,9 +545,9 @@  discard block
 block discarded – undo
545 545
 
546 546
     private function validateArguments(ContextFunction $reflection, array $arguments = []): bool
547 547
     {
548
-        try {
548
+        try{
549 549
             $this->resolver->validateArguments($reflection, $arguments);
550
-        } catch (\Throwable) {
550
+        }catch (\Throwable){
551 551
             return false;
552 552
         }
553 553
 
Please login to merge, or discard this patch.
Braces   +119 added lines, -51 removed lines patch added patch discarded remove patch
@@ -68,17 +68,20 @@  discard block
 block discarded – undo
68 68
      */
69 69
     public function make(string $alias, array $parameters = [], Stringable|string|null $context = null): mixed
70 70
     {
71
-        if ($parameters === [] && \array_key_exists($alias, $this->state->singletons)) {
71
+        if ($parameters === [] && \array_key_exists($alias, $this->state->singletons))
72
+        {
72 73
             return $this->state->singletons[$alias];
73 74
         }
74 75
 
75 76
         $binding = $this->state->bindings[$alias] ?? null;
76 77
 
77
-        if ($binding === null) {
78
+        if ($binding === null)
79
+        {
78 80
             return $this->resolveWithoutBinding($alias, $parameters, $context);
79 81
         }
80 82
 
81
-        try {
83
+        try
84
+        {
82 85
             $this->tracer->push(
83 86
                 false,
84 87
                 action: 'resolve from binding',
@@ -106,7 +109,9 @@  discard block
 block discarded – undo
106 109
                     ->resolveWeakReference($binding, $alias, $context, $parameters),
107 110
                 default => $binding,
108 111
             };
109
-        } finally {
112
+        }
113
+        finally
114
+        {
110 115
             $this->state->bindings[$alias] ??= $binding;
111 116
             $this->tracer->pop(true);
112 117
             $this->tracer->pop(false);
@@ -120,18 +125,23 @@  discard block
 block discarded – undo
120 125
     private function resolveInjector(Injectable $binding, Ctx $ctx, array $arguments)
121 126
     {
122 127
         $context = $ctx->context;
123
-        try {
128
+        try
129
+        {
124 130
             $reflection = $ctx->reflection ??= new \ReflectionClass($ctx->class);
125
-        } catch (\ReflectionException $e) {
131
+        }
132
+        catch (\ReflectionException $e)
133
+        {
126 134
             throw new ContainerException($e->getMessage(), $e->getCode(), $e);
127 135
         }
128 136
 
129 137
         $injector = $binding->injector;
130 138
 
131
-        try {
139
+        try
140
+        {
132 141
             $injectorInstance = \is_object($injector) ? $injector : $this->container->get($injector);
133 142
 
134
-            if (!$injectorInstance instanceof InjectorInterface) {
143
+            if (!$injectorInstance instanceof InjectorInterface)
144
+            {
135 145
                 throw new InjectionException(
136 146
                     \sprintf(
137 147
                         "Class '%s' must be an instance of InjectorInterface for '%s'.",
@@ -158,7 +168,8 @@  discard block
 block discarded – undo
158 168
                 default => (string)$context,
159 169
             });
160 170
 
161
-            if (!$reflection->isInstance($instance)) {
171
+            if (!$reflection->isInstance($instance))
172
+            {
162 173
                 throw new InjectionException(
163 174
                     \sprintf(
164 175
                         "Invalid injection response for '%s'.",
@@ -168,7 +179,9 @@  discard block
 block discarded – undo
168 179
             }
169 180
 
170 181
             return $instance;
171
-        } finally {
182
+        }
183
+        finally
184
+        {
172 185
             $this->state->bindings[$ctx->class] ??= $binding;
173 186
         }
174 187
     }
@@ -187,7 +200,8 @@  discard block
 block discarded – undo
187 200
             //Binding is pointing to something else
188 201
             : $this->make($binding->alias, $arguments, $context);
189 202
 
190
-        if ($binding->singleton && $arguments === []) {
203
+        if ($binding->singleton && $arguments === [])
204
+        {
191 205
             $this->state->singletons[$alias] = $result;
192 206
         }
193 207
 
@@ -228,11 +242,14 @@  discard block
 block discarded – undo
228 242
         array $arguments,
229 243
     ): mixed {
230 244
         $ctx = new Ctx(alias: $alias, class: $alias, context: $context, singleton: $binding->singleton);
231
-        try {
245
+        try
246
+        {
232 247
             $instance = $binding::class === \Spiral\Core\Config\Factory::class && $binding->getParametersCount() === 0
233 248
                 ? ($binding->factory)()
234 249
                 : $this->invoker->invoke($binding->factory, $arguments);
235
-        } catch (NotCallableException $e) {
250
+        }
251
+        catch (NotCallableException $e)
252
+        {
236 253
             throw new ContainerException(
237 254
                 $this->tracer->combineTraceMessage(\sprintf('Invalid binding for `%s`.', $ctx->alias)),
238 255
                 $e->getCode(),
@@ -251,19 +268,24 @@  discard block
 block discarded – undo
251 268
     ): ?object {
252 269
         $avoidCache = $arguments !== [];
253 270
 
254
-        if (($avoidCache || $binding->reference->get() === null) && \class_exists($alias)) {
255
-            try {
271
+        if (($avoidCache || $binding->reference->get() === null) && \class_exists($alias))
272
+        {
273
+            try
274
+            {
256 275
                 $this->tracer->push(false, alias: $alias, source: WeakReference::class, context: $context);
257 276
 
258 277
                 $object = $this->createInstance(
259 278
                     new Ctx(alias: $alias, class: $alias, context: $context),
260 279
                     $arguments,
261 280
                 );
262
-                if ($avoidCache) {
281
+                if ($avoidCache)
282
+                {
263 283
                     return $object;
264 284
                 }
265 285
                 $binding->reference = WeakReference::create($object);
266
-            } catch (\Throwable) {
286
+            }
287
+            catch (\Throwable)
288
+            {
267 289
                 throw new ContainerException(
268 290
                     $this->tracer->combineTraceMessage(
269 291
                         \sprintf(
@@ -273,7 +295,9 @@  discard block
 block discarded – undo
273 295
                         )
274 296
                     )
275 297
                 );
276
-            } finally {
298
+            }
299
+            finally
300
+            {
277 301
                 $this->tracer->pop();
278 302
             }
279 303
         }
@@ -288,18 +312,25 @@  discard block
 block discarded – undo
288 312
     ): mixed {
289 313
         $parent = $this->scope->getParent();
290 314
 
291
-        if ($parent !== null) {
292
-            try {
315
+        if ($parent !== null)
316
+        {
317
+            try
318
+            {
293 319
                 $this->tracer->push(false, ...[
294 320
                     'current scope' => $this->scope->getScopeName(),
295 321
                     'jump to parent scope' => $this->scope->getParentScope()->getScopeName(),
296 322
                 ]);
297 323
                 return $parent->make($alias, $parameters, $context);
298
-            } catch (BadScopeException $e) {
299
-                if ($this->scope->getScopeName() !== $e->getScope()) {
324
+            }
325
+            catch (BadScopeException $e)
326
+            {
327
+                if ($this->scope->getScopeName() !== $e->getScope())
328
+                {
300 329
                     throw $e;
301 330
                 }
302
-            } catch (ContainerExceptionInterface $e) {
331
+            }
332
+            catch (ContainerExceptionInterface $e)
333
+            {
303 334
                 $className = match (true) {
304 335
                     $e instanceof NotFoundException => NotFoundException::class,
305 336
                     default => ContainerException::class,
@@ -308,19 +339,24 @@  discard block
 block discarded – undo
308 339
                     'Can\'t resolve `%s`.',
309 340
                     $alias,
310 341
                 )), previous: $e);
311
-            } finally {
342
+            }
343
+            finally
344
+            {
312 345
                 $this->tracer->pop(false);
313 346
             }
314 347
         }
315 348
 
316 349
         $this->tracer->push(false, action: 'autowire', alias: $alias, context: $context);
317
-        try {
350
+        try
351
+        {
318 352
             //No direct instructions how to construct class, make is automatically
319 353
             return $this->autowire(
320 354
                 new Ctx(alias: $alias, class: $alias, context: $context),
321 355
                 $parameters,
322 356
             );
323
-        } finally {
357
+        }
358
+        finally
359
+        {
324 360
             $this->tracer->pop(false);
325 361
         }
326 362
     }
@@ -370,7 +406,8 @@  discard block
 block discarded – undo
370 406
         // Check scope name
371 407
         $ctx->reflection = new \ReflectionClass($instance);
372 408
         $scopeName = ($ctx->reflection->getAttributes(ScopeAttribute::class)[0] ?? null)?->newInstance()->name;
373
-        if ($scopeName !== null && $scopeName !== $this->scope->getScopeName()) {
409
+        if ($scopeName !== null && $scopeName !== $this->scope->getScopeName())
410
+        {
374 411
             throw new BadScopeException($scopeName, $instance::class);
375 412
         }
376 413
 
@@ -397,24 +434,30 @@  discard block
 block discarded – undo
397 434
         array $arguments,
398 435
     ): object {
399 436
         $class = $ctx->class;
400
-        try {
437
+        try
438
+        {
401 439
             $ctx->reflection = $reflection = new \ReflectionClass($class);
402
-        } catch (\ReflectionException $e) {
440
+        }
441
+        catch (\ReflectionException $e)
442
+        {
403 443
             throw new ContainerException($e->getMessage(), $e->getCode(), $e);
404 444
         }
405 445
 
406 446
         // Check scope name
407 447
         $scope = ($reflection->getAttributes(ScopeAttribute::class)[0] ?? null)?->newInstance()->name;
408
-        if ($scope !== null && $scope !== $this->scope->getScopeName()) {
448
+        if ($scope !== null && $scope !== $this->scope->getScopeName())
449
+        {
409 450
             throw new BadScopeException($scope, $class);
410 451
         }
411 452
 
412 453
         // We have to construct class using external injector when we know the exact context
413
-        if ($arguments === [] && $this->binder->hasInjector($class)) {
454
+        if ($arguments === [] && $this->binder->hasInjector($class))
455
+        {
414 456
             return $this->resolveInjector($this->state->bindings[$ctx->class], $ctx, $arguments);
415 457
         }
416 458
 
417
-        if (!$reflection->isInstantiable()) {
459
+        if (!$reflection->isInstantiable())
460
+        {
418 461
             $itIs = match (true) {
419 462
                 $reflection->isEnum() => 'Enum',
420 463
                 $reflection->isAbstract() => 'Abstract class',
@@ -427,12 +470,16 @@  discard block
 block discarded – undo
427 470
 
428 471
         $constructor = $reflection->getConstructor();
429 472
 
430
-        if ($constructor !== null) {
431
-            try {
473
+        if ($constructor !== null)
474
+        {
475
+            try
476
+            {
432 477
                 $this->tracer->push(false, action: 'resolve arguments', signature: $constructor);
433 478
                 $this->tracer->push(true);
434 479
                 $args = $this->resolver->resolveArguments($constructor, $arguments);
435
-            } catch (ValidationException $e) {
480
+            }
481
+            catch (ValidationException $e)
482
+            {
436 483
                 throw new ContainerException(
437 484
                     $this->tracer->combineTraceMessage(
438 485
                         \sprintf(
@@ -442,22 +489,31 @@  discard block
 block discarded – undo
442 489
                         )
443 490
                     ),
444 491
                 );
445
-            } finally {
492
+            }
493
+            finally
494
+            {
446 495
                 $this->tracer->pop(true);
447 496
                 $this->tracer->pop(false);
448 497
             }
449
-            try {
498
+            try
499
+            {
450 500
                 // Using constructor with resolved arguments
451 501
                 $this->tracer->push(false, call: "$class::__construct", arguments: $args);
452 502
                 $this->tracer->push(true);
453 503
                 $instance = new $class(...$args);
454
-            } catch (\TypeError $e) {
504
+            }
505
+            catch (\TypeError $e)
506
+            {
455 507
                 throw new WrongTypeException($constructor, $e);
456
-            } finally {
508
+            }
509
+            finally
510
+            {
457 511
                 $this->tracer->pop(true);
458 512
                 $this->tracer->pop(false);
459 513
             }
460
-        } else {
514
+        }
515
+        else
516
+        {
461 517
             // No constructor specified
462 518
             $instance = $reflection->newInstance();
463 519
         }
@@ -475,13 +531,15 @@  discard block
 block discarded – undo
475 531
         $instance = $this->runInflector($instance);
476 532
 
477 533
         //Declarative singletons
478
-        if ($this->isSingleton($ctx)) {
534
+        if ($this->isSingleton($ctx))
535
+        {
479 536
             $this->state->singletons[$ctx->alias] = $instance;
480 537
         }
481 538
 
482 539
         // Register finalizer
483 540
         $finalizer = $this->getFinalizer($ctx, $instance);
484
-        if ($finalizer !== null) {
541
+        if ($finalizer !== null)
542
+        {
485 543
             $this->state->finalizers[] = $finalizer;
486 544
         }
487 545
 
@@ -493,12 +551,14 @@  discard block
 block discarded – undo
493 551
      */
494 552
     private function isSingleton(Ctx $ctx): bool
495 553
     {
496
-        if ($ctx->singleton === true) {
554
+        if ($ctx->singleton === true)
555
+        {
497 556
             return true;
498 557
         }
499 558
 
500 559
         /** @psalm-suppress RedundantCondition https://github.com/vimeo/psalm/issues/9489 */
501
-        if ($ctx->reflection->implementsInterface(SingletonInterface::class)) {
560
+        if ($ctx->reflection->implementsInterface(SingletonInterface::class))
561
+        {
502 562
             return true;
503 563
         }
504 564
 
@@ -512,7 +572,8 @@  discard block
 block discarded – undo
512 572
          * @var Finalize|null $attribute
513 573
          */
514 574
         $attribute = ($ctx->reflection->getAttributes(Finalize::class)[0] ?? null)?->newInstance();
515
-        if ($attribute === null) {
575
+        if ($attribute === null)
576
+        {
516 577
             return null;
517 578
         }
518 579
 
@@ -526,10 +587,14 @@  discard block
 block discarded – undo
526 587
     {
527 588
         $scope = $this->scope;
528 589
 
529
-        while ($scope !== null) {
530
-            foreach ($this->state->inflectors as $class => $inflectors) {
531
-                if ($instance instanceof $class) {
532
-                    foreach ($inflectors as $inflector) {
590
+        while ($scope !== null)
591
+        {
592
+            foreach ($this->state->inflectors as $class => $inflectors)
593
+            {
594
+                if ($instance instanceof $class)
595
+                {
596
+                    foreach ($inflectors as $inflector)
597
+                    {
533 598
                         $instance = $inflector->getParametersCount() > 1
534 599
                             ? $this->invoker->invoke($inflector->inflector, [$instance])
535 600
                             : ($inflector->inflector)($instance);
@@ -545,9 +610,12 @@  discard block
 block discarded – undo
545 610
 
546 611
     private function validateArguments(ContextFunction $reflection, array $arguments = []): bool
547 612
     {
548
-        try {
613
+        try
614
+        {
549 615
             $this->resolver->validateArguments($reflection, $arguments);
550
-        } catch (\Throwable) {
616
+        }
617
+        catch (\Throwable)
618
+        {
551 619
             return false;
552 620
         }
553 621
 
Please login to merge, or discard this patch.
src/Core/tests/Scope/ProxyTest.php 2 patches
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
                     // from the current `foo` scope
43 43
                     self::assertInstanceOf(KVLogger::class, $logger);
44 44
 
45
-                    for ($i = 0; $i < 10; $i++) {
45
+                    for ($i = 0; $i < 10; $i++){
46 46
                         // because of proxy
47 47
                         self::assertNotInstanceOf(KVLogger::class, $carrier->getLogger());
48 48
                         self::assertSame('kv', $carrier->logger->getName());
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
                     // from the current `foo` scope
63 63
                     self::assertInstanceOf(FileLogger::class, $logger);
64 64
 
65
-                    for ($i = 0; $i < 10; $i++) {
65
+                    for ($i = 0; $i < 10; $i++){
66 66
                         // because of proxy
67 67
                         self::assertNotInstanceOf(FileLogger::class, $carrier->getLogger());
68 68
                         self::assertSame('file', $carrier->logger->getName());
@@ -79,14 +79,14 @@  discard block
 block discarded – undo
79 79
         $root = new Container();
80 80
         $root->getBinder('http')->bindSingleton(LoggerInterface::class, KVLogger::class);
81 81
 
82
-        $root->runScope(new Scope(), static function (Container $c1) {
82
+        $root->runScope(new Scope(), static function (Container $c1){
83 83
             $c1->runScope(
84 84
                 new Scope(name: 'http'),
85 85
                 static function (
86 86
                     ScopedProxyLoggerCarrier $carrier,
87 87
                     ScopedProxyLoggerCarrier $carrier2,
88 88
                     LoggerInterface $logger
89
-                ) {
89
+                ){
90 90
                     // from the current `foo` scope
91 91
                     self::assertInstanceOf(KVLogger::class, $logger);
92 92
 
@@ -106,10 +106,10 @@  discard block
 block discarded – undo
106 106
         $root = new Container();
107 107
         $root->getBinder('foo')->bind(LoggerInterface::class, KVLogger::class);
108 108
 
109
-        $root->runScope(new Scope(), static function (Container $c1) {
109
+        $root->runScope(new Scope(), static function (Container $c1){
110 110
             $c1->runScope(
111 111
                 new Scope(name: 'foo'),
112
-                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) {
112
+                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger){
113 113
                     // from the current `foo` scope
114 114
                     self::assertInstanceOf(KVLogger::class, $logger);
115 115
 
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
             ->bind(
131 131
                 ContextInterface::class,
132 132
                 new \Spiral\Core\Config\Injectable(
133
-                    new class implements InjectorInterface {
133
+                    new class implements InjectorInterface{
134 134
                         public function createInjection(\ReflectionClass $class, mixed $context = null): Context
135 135
                         {
136 136
                             return new Context($context);
@@ -139,8 +139,8 @@  discard block
 block discarded – undo
139 139
                 )
140 140
             );
141 141
 
142
-        $root->runScope(new Scope(), static function (Container $c1) {
143
-            $c1->runScope(new Scope(name: 'foo'), static function (Container $c, ContextInterface $param) {
142
+        $root->runScope(new Scope(), static function (Container $c1){
143
+            $c1->runScope(new Scope(name: 'foo'), static function (Container $c, ContextInterface $param){
144 144
                 self::assertInstanceOf(ReflectionParameter::class, $param->value);
145 145
                 self::assertSame('param', $param->value->getName());
146 146
 
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
             ->bind(
172 172
                 ContextInterface::class,
173 173
                 new \Spiral\Core\Config\Injectable(
174
-                    new class implements InjectorInterface {
174
+                    new class implements InjectorInterface{
175 175
                         public function createInjection(\ReflectionClass $class, mixed $context = null): Context
176 176
                         {
177 177
                             return new Context($context);
@@ -181,15 +181,15 @@  discard block
 block discarded – undo
181 181
             );
182 182
 
183 183
         FiberHelper::runFiberSequence(
184
-            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $ctx) {
185
-                for ($i = 0; $i < 10; $i++) {
184
+            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $ctx){
185
+                for ($i = 0; $i < 10; $i++){
186 186
                     self::assertInstanceOf(ReflectionParameter::class, $ctx->getValue(), 'Context injected');
187 187
                     self::assertSame('ctx', $ctx->getValue()->getName());
188 188
                     \Fiber::suspend();
189 189
                 }
190 190
             }),
191
-            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $context) {
192
-                for ($i = 0; $i < 10; $i++) {
191
+            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $context){
192
+                for ($i = 0; $i < 10; $i++){
193 193
                     self::assertInstanceOf(ReflectionParameter::class, $context->getValue(), 'Context injected');
194 194
                     self::assertSame('context', $context->getValue()->getName());
195 195
                     \Fiber::suspend();
Please login to merge, or discard this patch.
Braces   +34 added lines, -17 removed lines patch added patch discarded remove patch
@@ -38,11 +38,13 @@  discard block
 block discarded – undo
38 38
                         LoggerInterface::class => KVLogger::class,
39 39
                     ],
40 40
                 ),
41
-                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) use ($lc) {
41
+                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) use ($lc)
42
+                {
42 43
                     // from the current `foo` scope
43 44
                     self::assertInstanceOf(KVLogger::class, $logger);
44 45
 
45
-                    for ($i = 0; $i < 10; $i++) {
46
+                    for ($i = 0; $i < 10; $i++)
47
+                    {
46 48
                         // because of proxy
47 49
                         self::assertNotInstanceOf(KVLogger::class, $carrier->getLogger());
48 50
                         self::assertSame('kv', $carrier->logger->getName());
@@ -58,11 +60,13 @@  discard block
 block discarded – undo
58 60
                         LoggerInterface::class => FileLogger::class,
59 61
                     ],
60 62
                 ),
61
-                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) use ($lc) {
63
+                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) use ($lc)
64
+                {
62 65
                     // from the current `foo` scope
63 66
                     self::assertInstanceOf(FileLogger::class, $logger);
64 67
 
65
-                    for ($i = 0; $i < 10; $i++) {
68
+                    for ($i = 0; $i < 10; $i++)
69
+                    {
66 70
                         // because of proxy
67 71
                         self::assertNotInstanceOf(FileLogger::class, $carrier->getLogger());
68 72
                         self::assertSame('file', $carrier->logger->getName());
@@ -79,7 +83,8 @@  discard block
 block discarded – undo
79 83
         $root = new Container();
80 84
         $root->getBinder('http')->bindSingleton(LoggerInterface::class, KVLogger::class);
81 85
 
82
-        $root->runScope(new Scope(), static function (Container $c1) {
86
+        $root->runScope(new Scope(), static function (Container $c1)
87
+        {
83 88
             $c1->runScope(
84 89
                 new Scope(name: 'http'),
85 90
                 static function (
@@ -106,10 +111,12 @@  discard block
 block discarded – undo
106 111
         $root = new Container();
107 112
         $root->getBinder('foo')->bind(LoggerInterface::class, KVLogger::class);
108 113
 
109
-        $root->runScope(new Scope(), static function (Container $c1) {
114
+        $root->runScope(new Scope(), static function (Container $c1)
115
+        {
110 116
             $c1->runScope(
111 117
                 new Scope(name: 'foo'),
112
-                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger) {
118
+                static function (ScopedProxyLoggerCarrier $carrier, LoggerInterface $logger)
119
+                {
113 120
                     // from the current `foo` scope
114 121
                     self::assertInstanceOf(KVLogger::class, $logger);
115 122
 
@@ -130,7 +137,8 @@  discard block
 block discarded – undo
130 137
             ->bind(
131 138
                 ContextInterface::class,
132 139
                 new \Spiral\Core\Config\Injectable(
133
-                    new class implements InjectorInterface {
140
+                    new class implements InjectorInterface
141
+                    {
134 142
                         public function createInjection(\ReflectionClass $class, mixed $context = null): Context
135 143
                         {
136 144
                             return new Context($context);
@@ -139,8 +147,10 @@  discard block
 block discarded – undo
139 147
                 )
140 148
             );
141 149
 
142
-        $root->runScope(new Scope(), static function (Container $c1) {
143
-            $c1->runScope(new Scope(name: 'foo'), static function (Container $c, ContextInterface $param) {
150
+        $root->runScope(new Scope(), static function (Container $c1)
151
+        {
152
+            $c1->runScope(new Scope(name: 'foo'), static function (Container $c, ContextInterface $param)
153
+            {
144 154
                 self::assertInstanceOf(ReflectionParameter::class, $param->value);
145 155
                 self::assertSame('param', $param->value->getName());
146 156
 
@@ -171,7 +181,8 @@  discard block
 block discarded – undo
171 181
             ->bind(
172 182
                 ContextInterface::class,
173 183
                 new \Spiral\Core\Config\Injectable(
174
-                    new class implements InjectorInterface {
184
+                    new class implements InjectorInterface
185
+                    {
175 186
                         public function createInjection(\ReflectionClass $class, mixed $context = null): Context
176 187
                         {
177 188
                             return new Context($context);
@@ -181,15 +192,19 @@  discard block
 block discarded – undo
181 192
             );
182 193
 
183 194
         FiberHelper::runFiberSequence(
184
-            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $ctx) {
185
-                for ($i = 0; $i < 10; $i++) {
195
+            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $ctx)
196
+            {
197
+                for ($i = 0; $i < 10; $i++)
198
+                {
186 199
                     self::assertInstanceOf(ReflectionParameter::class, $ctx->getValue(), 'Context injected');
187 200
                     self::assertSame('ctx', $ctx->getValue()->getName());
188 201
                     \Fiber::suspend();
189 202
                 }
190 203
             }),
191
-            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $context) {
192
-                for ($i = 0; $i < 10; $i++) {
204
+            static fn() => $root->runScope(new Scope(name: 'foo'), static function (ContextInterface $context)
205
+            {
206
+                for ($i = 0; $i < 10; $i++)
207
+                {
193 208
                     self::assertInstanceOf(ReflectionParameter::class, $context->getValue(), 'Context injected');
194 209
                     self::assertSame('context', $context->getValue()->getName());
195 210
                     \Fiber::suspend();
@@ -203,8 +218,10 @@  discard block
 block discarded – undo
203 218
         $root = new Container();
204 219
         $root->getBinder('http')->bindSingleton(LoggerInterface::class, KVLogger::class);
205 220
 
206
-        $root->runScope(new Scope(), static function (#[Proxy] ContainerInterface $cp) use ($root) {
207
-            $root->runScope(new Scope(name: 'http'), static function (ContainerInterface $c) use ($cp) {
221
+        $root->runScope(new Scope(), static function (#[Proxy] ContainerInterface $cp) use ($root)
222
+        {
223
+            $root->runScope(new Scope(name: 'http'), static function (ContainerInterface $c) use ($cp)
224
+            {
208 225
                 self::assertNotSame($c, $cp);
209 226
                 self::assertSame($c, $cp->get(ContainerInterface::class));
210 227
                 self::assertInstanceOf(KVLogger::class, $cp->get(LoggerInterface::class));
Please login to merge, or discard this patch.
src/Core/tests/Scope/SideEffectTest.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -23,10 +23,10 @@  discard block
 block discarded – undo
23 23
         $root = new Container();
24 24
         $root->bind(LoggerInterface::class, KVLogger::class);
25 25
 
26
-        $root->runScope(new Scope(), static function (Container $c1) {
26
+        $root->runScope(new Scope(), static function (Container $c1){
27 27
             $c1->bind(LoggerInterface::class, FileLogger::class);
28 28
 
29
-            $c1->runScope(new Scope(), static function (LoggerCarrier $carrier, LoggerInterface $logger) {
29
+            $c1->runScope(new Scope(), static function (LoggerCarrier $carrier, LoggerInterface $logger){
30 30
                 // from the $root container
31 31
                 self::assertInstanceOf(KVLogger::class, $carrier->logger);
32 32
                 // from the $c1 container
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
         $root = new Container();
41 41
         $root->bind(LoggerInterface::class, KVLogger::class);
42 42
 
43
-        $root->runScope(new Scope(), static function (Container $c1) {
43
+        $root->runScope(new Scope(), static function (Container $c1){
44 44
             $c1->bind(LoggerInterface::class, FileLogger::class);
45 45
 
46 46
             self::assertInstanceOf(
Please login to merge, or discard this patch.
Braces   +6 added lines, -3 removed lines patch added patch discarded remove patch
@@ -23,10 +23,12 @@  discard block
 block discarded – undo
23 23
         $root = new Container();
24 24
         $root->bind(LoggerInterface::class, KVLogger::class);
25 25
 
26
-        $root->runScope(new Scope(), static function (Container $c1) {
26
+        $root->runScope(new Scope(), static function (Container $c1)
27
+        {
27 28
             $c1->bind(LoggerInterface::class, FileLogger::class);
28 29
 
29
-            $c1->runScope(new Scope(), static function (LoggerCarrier $carrier, LoggerInterface $logger) {
30
+            $c1->runScope(new Scope(), static function (LoggerCarrier $carrier, LoggerInterface $logger)
31
+            {
30 32
                 // from the $root container
31 33
                 self::assertInstanceOf(KVLogger::class, $carrier->logger);
32 34
                 // from the $c1 container
@@ -40,7 +42,8 @@  discard block
 block discarded – undo
40 42
         $root = new Container();
41 43
         $root->bind(LoggerInterface::class, KVLogger::class);
42 44
 
43
-        $root->runScope(new Scope(), static function (Container $c1) {
45
+        $root->runScope(new Scope(), static function (Container $c1)
46
+        {
44 47
             $c1->bind(LoggerInterface::class, FileLogger::class);
45 48
 
46 49
             self::assertInstanceOf(
Please login to merge, or discard this patch.
src/Core/src/Internal/Proxy/ProxyClassRenderer.php 2 patches
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -11,33 +11,33 @@  discard block
 block discarded – undo
11 11
 {
12 12
     public static function renderClass(\ReflectionClass $type, $className): string
13 13
     {
14
-        if (\str_contains($className, '\\')) {
14
+        if (\str_contains($className, '\\')){
15 15
             $classShortName = \substr($className, \strrpos($className, '\\') + 1);
16
-            $classNamespaceStr = 'namespace ' . \substr($className, 0, \strrpos($className, '\\')) . ';';
17
-        } else {
16
+            $classNamespaceStr = 'namespace '.\substr($className, 0, \strrpos($className, '\\')).';';
17
+        }else{
18 18
             $classShortName = $className;
19 19
             $classNamespaceStr = '';
20 20
         }
21 21
 
22 22
         $interface = $type->getName();
23 23
         $classBody = [];
24
-        foreach ($type->getMethods() as $method) {
25
-            if ($method->isConstructor()) {
24
+        foreach ($type->getMethods() as $method){
25
+            if ($method->isConstructor()){
26 26
                 continue;
27 27
             }
28 28
 
29 29
             $hasRefs = false;
30 30
             $return = $method->hasReturnType() && (string)$method->getReturnType() === 'void' ? '' : 'return ';
31
-            $call = ($method->isStatic() ? '::' : '->') . $method->getName();
31
+            $call = ($method->isStatic() ? '::' : '->').$method->getName();
32 32
             $context = $method->isStatic() ? 'null' : '$this->__container_proxy_context';
33 33
 
34 34
             $args = [];
35
-            foreach ($method->getParameters() as $param) {
35
+            foreach ($method->getParameters() as $param){
36 36
                 $hasRefs = $hasRefs || $param->isPassedByReference();
37
-                $args[] = ($param->isVariadic() ? '...' : '') . '$'. $param->getName();
37
+                $args[] = ($param->isVariadic() ? '...' : '').'$'.$param->getName();
38 38
             }
39 39
 
40
-            if (!$hasRefs && !$method->isVariadic()) {
40
+            if (!$hasRefs && !$method->isVariadic()){
41 41
                 $classBody[] = self::renderMethod($method, <<<PHP
42 42
                     {$return}\\Spiral\\Core\\Internal\\Proxy\\Resolver::resolve(
43 43
                         '{$interface}',
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 
50 50
             $argsStr = \implode(', ', $args);
51 51
 
52
-            if ($method->isVariadic()) {
52
+            if ($method->isVariadic()){
53 53
                 $classBody[] = self::renderMethod($method, <<<PHP
54 54
                     {$return}\\Spiral\\Core\\Internal\\Proxy\\Resolver::resolve(
55 55
                         '{$interface}',
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
             $m->getName(),
89 89
             \implode(', ', \array_map([self::class, 'renderParameter'], $m->getParameters())),
90 90
             $m->hasReturnType()
91
-                ? ': ' . self::renderParameterTypes($m->getReturnType(), $m->getDeclaringClass())
91
+                ? ': '.self::renderParameterTypes($m->getReturnType(), $m->getDeclaringClass())
92 92
                 : '',
93 93
             $body,
94 94
         );
@@ -101,15 +101,15 @@  discard block
 block discarded – undo
101 101
             $param->hasType() ? self::renderParameterTypes($param->getType(), $param->getDeclaringClass()) : '',
102 102
             $param->isPassedByReference() ? '&' : '',
103 103
             $param->isVariadic() ? '...' : '',
104
-            '$' . $param->getName(),
105
-            $param->isOptional() && !$param->isVariadic() ? ' = ' . self::renderDefaultValue($param) : '',
104
+            '$'.$param->getName(),
105
+            $param->isOptional() && !$param->isVariadic() ? ' = '.self::renderDefaultValue($param) : '',
106 106
         ), ' ');
107 107
     }
108 108
 
109 109
     public static function renderParameterTypes(\ReflectionType $types, \ReflectionClass $class): string
110 110
     {
111
-        if ($types instanceof \ReflectionNamedType) {
112
-            return ($types->allowsNull() && $types->getName() !== 'mixed' ? '?' : '') . ($types->isBuiltin()
111
+        if ($types instanceof \ReflectionNamedType){
112
+            return ($types->allowsNull() && $types->getName() !== 'mixed' ? '?' : '').($types->isBuiltin()
113 113
                 ? $types->getName()
114 114
                 : self::normalizeClassType($types, $class));
115 115
         }
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
         };
122 122
 
123 123
         $result = [];
124
-        foreach ($types as $type) {
124
+        foreach ($types as $type){
125 125
             $result[] = $type->isBuiltin()
126 126
                 ? $type->getName()
127 127
                 : self::normalizeClassType($type, $class);
@@ -132,12 +132,12 @@  discard block
 block discarded – undo
132 132
 
133 133
     public static function renderDefaultValue(\ReflectionParameter $param): string
134 134
     {
135
-        if ($param->isDefaultValueConstant()) {
135
+        if ($param->isDefaultValueConstant()){
136 136
             $result = $param->getDefaultValueConstantName();
137 137
 
138 138
             return \explode('::', $result)[0] === 'self'
139 139
                 ? $result
140
-                : '\\' . $result;
140
+                : '\\'.$result;
141 141
         }
142 142
 
143 143
         $cut = self::cutDefaultValue($param);
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
 
150 150
     public static function normalizeClassType(\ReflectionNamedType $type, \ReflectionClass $class): string
151 151
     {
152
-        return '\\' . ($type->getName() === 'self' ? $class->getName() : $type->getName());
152
+        return '\\'.($type->getName() === 'self' ? $class->getName() : $type->getName());
153 153
     }
154 154
 
155 155
     private static function cutDefaultValue(\ReflectionParameter $param): string
Please login to merge, or discard this patch.
Braces   +21 added lines, -10 removed lines patch added patch discarded remove patch
@@ -11,18 +11,23 @@  discard block
 block discarded – undo
11 11
 {
12 12
     public static function renderClass(\ReflectionClass $type, $className): string
13 13
     {
14
-        if (\str_contains($className, '\\')) {
14
+        if (\str_contains($className, '\\'))
15
+        {
15 16
             $classShortName = \substr($className, \strrpos($className, '\\') + 1);
16 17
             $classNamespaceStr = 'namespace ' . \substr($className, 0, \strrpos($className, '\\')) . ';';
17
-        } else {
18
+        }
19
+        else
20
+        {
18 21
             $classShortName = $className;
19 22
             $classNamespaceStr = '';
20 23
         }
21 24
 
22 25
         $interface = $type->getName();
23 26
         $classBody = [];
24
-        foreach ($type->getMethods() as $method) {
25
-            if ($method->isConstructor()) {
27
+        foreach ($type->getMethods() as $method)
28
+        {
29
+            if ($method->isConstructor())
30
+            {
26 31
                 continue;
27 32
             }
28 33
 
@@ -32,12 +37,14 @@  discard block
 block discarded – undo
32 37
             $context = $method->isStatic() ? 'null' : '$this->__container_proxy_context';
33 38
 
34 39
             $args = [];
35
-            foreach ($method->getParameters() as $param) {
40
+            foreach ($method->getParameters() as $param)
41
+            {
36 42
                 $hasRefs = $hasRefs || $param->isPassedByReference();
37 43
                 $args[] = ($param->isVariadic() ? '...' : '') . '$'. $param->getName();
38 44
             }
39 45
 
40
-            if (!$hasRefs && !$method->isVariadic()) {
46
+            if (!$hasRefs && !$method->isVariadic())
47
+            {
41 48
                 $classBody[] = self::renderMethod($method, <<<PHP
42 49
                     {$return}\\Spiral\\Core\\Internal\\Proxy\\Resolver::resolve(
43 50
                         '{$interface}',
@@ -49,7 +56,8 @@  discard block
 block discarded – undo
49 56
 
50 57
             $argsStr = \implode(', ', $args);
51 58
 
52
-            if ($method->isVariadic()) {
59
+            if ($method->isVariadic())
60
+            {
53 61
                 $classBody[] = self::renderMethod($method, <<<PHP
54 62
                     {$return}\\Spiral\\Core\\Internal\\Proxy\\Resolver::resolve(
55 63
                         '{$interface}',
@@ -108,7 +116,8 @@  discard block
 block discarded – undo
108 116
 
109 117
     public static function renderParameterTypes(\ReflectionType $types, \ReflectionClass $class): string
110 118
     {
111
-        if ($types instanceof \ReflectionNamedType) {
119
+        if ($types instanceof \ReflectionNamedType)
120
+        {
112 121
             return ($types->allowsNull() && $types->getName() !== 'mixed' ? '?' : '') . ($types->isBuiltin()
113 122
                 ? $types->getName()
114 123
                 : self::normalizeClassType($types, $class));
@@ -121,7 +130,8 @@  discard block
 block discarded – undo
121 130
         };
122 131
 
123 132
         $result = [];
124
-        foreach ($types as $type) {
133
+        foreach ($types as $type)
134
+        {
125 135
             $result[] = $type->isBuiltin()
126 136
                 ? $type->getName()
127 137
                 : self::normalizeClassType($type, $class);
@@ -132,7 +142,8 @@  discard block
 block discarded – undo
132 142
 
133 143
     public static function renderDefaultValue(\ReflectionParameter $param): string
134 144
     {
135
-        if ($param->isDefaultValueConstant()) {
145
+        if ($param->isDefaultValueConstant())
146
+        {
136 147
             $result = $param->getDefaultValueConstantName();
137 148
 
138 149
             return \explode('::', $result)[0] === 'self'
Please login to merge, or discard this patch.