@@ -34,19 +34,19 @@ discard block |
||
34 | 34 | { |
35 | 35 | [$previous, self::$container] = [self::$container, $container]; |
36 | 36 | |
37 | - try { |
|
38 | - if (Fiber::getCurrent() === null) { |
|
37 | + try{ |
|
38 | + if (Fiber::getCurrent() === null){ |
|
39 | 39 | return $scope(self::$container); |
40 | 40 | } |
41 | 41 | |
42 | 42 | // Wrap scope into fiber |
43 | 43 | $fiber = new Fiber(static fn () => $scope(self::$container)); |
44 | 44 | $value = $fiber->start(); |
45 | - while (!$fiber->isTerminated()) { |
|
45 | + while (!$fiber->isTerminated()){ |
|
46 | 46 | self::$container = $previous; |
47 | - try { |
|
47 | + try{ |
|
48 | 48 | $resume = Fiber::suspend($value); |
49 | - } catch (Throwable $e) { |
|
49 | + }catch (Throwable $e){ |
|
50 | 50 | self::$container = $container; |
51 | 51 | $value = $fiber->throw($e); |
52 | 52 | continue; |
@@ -55,7 +55,7 @@ discard block |
||
55 | 55 | $value = $fiber->resume($resume); |
56 | 56 | } |
57 | 57 | return $fiber->getReturn(); |
58 | - } finally { |
|
58 | + }finally{ |
|
59 | 59 | self::$container = $previous; |
60 | 60 | } |
61 | 61 | } |
@@ -34,19 +34,25 @@ discard block |
||
34 | 34 | { |
35 | 35 | [$previous, self::$container] = [self::$container, $container]; |
36 | 36 | |
37 | - try { |
|
38 | - if (Fiber::getCurrent() === null) { |
|
37 | + try |
|
38 | + { |
|
39 | + if (Fiber::getCurrent() === null) |
|
40 | + { |
|
39 | 41 | return $scope(self::$container); |
40 | 42 | } |
41 | 43 | |
42 | 44 | // Wrap scope into fiber |
43 | 45 | $fiber = new Fiber(static fn () => $scope(self::$container)); |
44 | 46 | $value = $fiber->start(); |
45 | - while (!$fiber->isTerminated()) { |
|
47 | + while (!$fiber->isTerminated()) |
|
48 | + { |
|
46 | 49 | self::$container = $previous; |
47 | - try { |
|
50 | + try |
|
51 | + { |
|
48 | 52 | $resume = Fiber::suspend($value); |
49 | - } catch (Throwable $e) { |
|
53 | + } |
|
54 | + catch (Throwable $e) |
|
55 | + { |
|
50 | 56 | self::$container = $container; |
51 | 57 | $value = $fiber->throw($e); |
52 | 58 | continue; |
@@ -55,7 +61,9 @@ discard block |
||
55 | 61 | $value = $fiber->resume($resume); |
56 | 62 | } |
57 | 63 | return $fiber->getReturn(); |
58 | - } finally { |
|
64 | + } |
|
65 | + finally |
|
66 | + { |
|
59 | 67 | self::$container = $previous; |
60 | 68 | } |
61 | 69 | } |
@@ -30,7 +30,7 @@ discard block |
||
30 | 30 | |
31 | 31 | self::runInFiber( |
32 | 32 | self::functionScopedTestDataIterator(), |
33 | - static function (mixed $suspendValue) { |
|
33 | + static function (mixed $suspendValue){ |
|
34 | 34 | self::assertNull(ContainerScope::getContainer()); |
35 | 35 | self::assertTrue(\in_array($suspendValue, self::TEST_DATA, true)); |
36 | 36 | }, |
@@ -63,7 +63,7 @@ discard block |
||
63 | 63 | ); |
64 | 64 | |
65 | 65 | self::assertCount(5, $result); |
66 | - foreach ($result as $suspendValue) { |
|
66 | + foreach ($result as $suspendValue){ |
|
67 | 67 | self::assertSame(self::TEST_DATA, $suspendValue); |
68 | 68 | } |
69 | 69 | } |
@@ -81,7 +81,7 @@ discard block |
||
81 | 81 | ); |
82 | 82 | |
83 | 83 | self::assertCount(2, $result); |
84 | - foreach ($result as $suspendValue) { |
|
84 | + foreach ($result as $suspendValue){ |
|
85 | 85 | self::assertSame(self::TEST_DATA, $suspendValue); |
86 | 86 | } |
87 | 87 | } |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | $this->expectExceptionMessage('test'); |
93 | 93 | |
94 | 94 | self::runInFiber( |
95 | - static function () { |
|
95 | + static function (){ |
|
96 | 96 | return (new Container())->scope( |
97 | 97 | function (): string { |
98 | 98 | $result = ''; |
@@ -114,15 +114,15 @@ discard block |
||
114 | 114 | public function testCatchThrownException(): void |
115 | 115 | { |
116 | 116 | $result = self::runInFiber( |
117 | - static function () { |
|
117 | + static function (){ |
|
118 | 118 | return (new Container())->scope( |
119 | 119 | function (): string { |
120 | 120 | $result = ''; |
121 | 121 | $result .= Fiber::suspend('foo'); |
122 | 122 | $result .= Fiber::suspend('bar'); |
123 | - try { |
|
123 | + try{ |
|
124 | 124 | $result .= Fiber::suspend('error'); |
125 | - } catch (\Throwable $e) { |
|
125 | + }catch (\Throwable $e){ |
|
126 | 126 | $result .= $e->getMessage(); |
127 | 127 | } |
128 | 128 | $result .= Fiber::suspend('baz'); |
@@ -152,7 +152,7 @@ discard block |
||
152 | 152 | ?callable $load = null, |
153 | 153 | ?Container $container = null, |
154 | 154 | ): callable { |
155 | - return static function () use ($load, $container): array { |
|
155 | + return static function () use ($load, $container) : array { |
|
156 | 156 | // The function should be called in a fiber |
157 | 157 | self::assertNotNull(Fiber::getCurrent()); |
158 | 158 | |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | $resource = $c3->get('resource'); |
174 | 174 | self::assertInstanceOf(DateTimeImmutable::class, $c3->get('bar')); |
175 | 175 | self::assertInstanceOf(stdClass::class, $resource); |
176 | - foreach (self::TEST_DATA as $key => $value) { |
|
176 | + foreach (self::TEST_DATA as $key => $value){ |
|
177 | 177 | $resource->$key = $value; |
178 | 178 | $load === null or $load(); |
179 | 179 | Fiber::suspend($value); |
@@ -186,8 +186,8 @@ discard block |
||
186 | 186 | }, ['foo' => new DateTime()]); |
187 | 187 | self::assertFalse($c1->has('foo')); |
188 | 188 | |
189 | - self::assertSame(self::TEST_DATA, (array) $result); |
|
190 | - return (array) $result; |
|
189 | + self::assertSame(self::TEST_DATA, (array)$result); |
|
190 | + return (array)$result; |
|
191 | 191 | }; |
192 | 192 | } |
193 | 193 | |
@@ -204,11 +204,11 @@ discard block |
||
204 | 204 | { |
205 | 205 | $fiber = new Fiber($callable); |
206 | 206 | $value = $fiber->start(); |
207 | - while (!$fiber->isTerminated()) { |
|
208 | - if ($check !== null) { |
|
209 | - try { |
|
207 | + while (!$fiber->isTerminated()){ |
|
208 | + if ($check !== null){ |
|
209 | + try{ |
|
210 | 210 | $value = $check($value); |
211 | - } catch (\Throwable $e) { |
|
211 | + }catch (\Throwable $e){ |
|
212 | 212 | $value = $fiber->throw($e); |
213 | 213 | continue; |
214 | 214 | } |
@@ -232,14 +232,14 @@ discard block |
||
232 | 232 | /** Values that were suspended by the fiber. */ |
233 | 233 | $suspends = []; |
234 | 234 | $results = []; |
235 | - foreach ($callables as $key => $callable) { |
|
235 | + foreach ($callables as $key => $callable){ |
|
236 | 236 | $fiberGenerators[$key] = (static function () use ($callable) { |
237 | 237 | $fiber = new Fiber($callable); |
238 | 238 | // Get ready |
239 | 239 | yield null; |
240 | 240 | |
241 | 241 | $value = yield $fiber->start(); |
242 | - while (!$fiber->isTerminated()) { |
|
242 | + while (!$fiber->isTerminated()){ |
|
243 | 243 | $value = yield $fiber->resume($value); |
244 | 244 | } |
245 | 245 | return $fiber->getReturn(); |
@@ -249,15 +249,15 @@ discard block |
||
249 | 249 | } |
250 | 250 | |
251 | 251 | |
252 | - while ($fiberGenerators !== []) { |
|
253 | - foreach ($fiberGenerators as $key => $generator) { |
|
254 | - try { |
|
252 | + while ($fiberGenerators !== []){ |
|
253 | + foreach ($fiberGenerators as $key => $generator){ |
|
254 | + try{ |
|
255 | 255 | $suspends[$key] = $generator->send($suspends[$key]); |
256 | - if (!$generator->valid()) { |
|
256 | + if (!$generator->valid()){ |
|
257 | 257 | $results[$key] = $generator->getReturn(); |
258 | 258 | unset($fiberGenerators[$key]); |
259 | 259 | } |
260 | - } catch (\Throwable $e) { |
|
260 | + }catch (\Throwable $e){ |
|
261 | 261 | unset($fiberGenerators[$key]); |
262 | 262 | $results[$key] = $e; |
263 | 263 | } |
@@ -30,7 +30,8 @@ discard block |
||
30 | 30 | |
31 | 31 | self::runInFiber( |
32 | 32 | self::functionScopedTestDataIterator(), |
33 | - static function (mixed $suspendValue) { |
|
33 | + static function (mixed $suspendValue) |
|
34 | + { |
|
34 | 35 | self::assertNull(ContainerScope::getContainer()); |
35 | 36 | self::assertTrue(\in_array($suspendValue, self::TEST_DATA, true)); |
36 | 37 | }, |
@@ -63,7 +64,8 @@ discard block |
||
63 | 64 | ); |
64 | 65 | |
65 | 66 | self::assertCount(5, $result); |
66 | - foreach ($result as $suspendValue) { |
|
67 | + foreach ($result as $suspendValue) |
|
68 | + { |
|
67 | 69 | self::assertSame(self::TEST_DATA, $suspendValue); |
68 | 70 | } |
69 | 71 | } |
@@ -81,7 +83,8 @@ discard block |
||
81 | 83 | ); |
82 | 84 | |
83 | 85 | self::assertCount(2, $result); |
84 | - foreach ($result as $suspendValue) { |
|
86 | + foreach ($result as $suspendValue) |
|
87 | + { |
|
85 | 88 | self::assertSame(self::TEST_DATA, $suspendValue); |
86 | 89 | } |
87 | 90 | } |
@@ -92,7 +95,8 @@ discard block |
||
92 | 95 | $this->expectExceptionMessage('test'); |
93 | 96 | |
94 | 97 | self::runInFiber( |
95 | - static function () { |
|
98 | + static function () |
|
99 | + { |
|
96 | 100 | return (new Container())->scope( |
97 | 101 | function (): string { |
98 | 102 | $result = ''; |
@@ -114,15 +118,19 @@ discard block |
||
114 | 118 | public function testCatchThrownException(): void |
115 | 119 | { |
116 | 120 | $result = self::runInFiber( |
117 | - static function () { |
|
121 | + static function () |
|
122 | + { |
|
118 | 123 | return (new Container())->scope( |
119 | 124 | function (): string { |
120 | 125 | $result = ''; |
121 | 126 | $result .= Fiber::suspend('foo'); |
122 | 127 | $result .= Fiber::suspend('bar'); |
123 | - try { |
|
128 | + try |
|
129 | + { |
|
124 | 130 | $result .= Fiber::suspend('error'); |
125 | - } catch (\Throwable $e) { |
|
131 | + } |
|
132 | + catch (\Throwable $e) |
|
133 | + { |
|
126 | 134 | $result .= $e->getMessage(); |
127 | 135 | } |
128 | 136 | $result .= Fiber::suspend('baz'); |
@@ -160,20 +168,23 @@ discard block |
||
160 | 168 | $c1 = $container ?? new Container(); |
161 | 169 | $c1->bindSingleton('resource', new stdClass()); |
162 | 170 | |
163 | - $result = $c1->scope(static function (Container $c2) use ($load) { |
|
171 | + $result = $c1->scope(static function (Container $c2) use ($load) |
|
172 | + { |
|
164 | 173 | // check local binding |
165 | 174 | self::assertTrue($c2->has('foo')); |
166 | 175 | self::assertInstanceOf(DateTime::class, $c2->get('foo')); |
167 | 176 | |
168 | 177 | return $c2->scope( |
169 | - static function (ContainerInterface $c3) use ($load) { |
|
178 | + static function (ContainerInterface $c3) use ($load) |
|
179 | + { |
|
170 | 180 | // check local binding |
171 | 181 | self::assertTrue($c3->has('bar')); |
172 | 182 | |
173 | 183 | $resource = $c3->get('resource'); |
174 | 184 | self::assertInstanceOf(DateTimeImmutable::class, $c3->get('bar')); |
175 | 185 | self::assertInstanceOf(stdClass::class, $resource); |
176 | - foreach (self::TEST_DATA as $key => $value) { |
|
186 | + foreach (self::TEST_DATA as $key => $value) |
|
187 | + { |
|
177 | 188 | $resource->$key = $value; |
178 | 189 | $load === null or $load(); |
179 | 190 | Fiber::suspend($value); |
@@ -204,11 +215,16 @@ discard block |
||
204 | 215 | { |
205 | 216 | $fiber = new Fiber($callable); |
206 | 217 | $value = $fiber->start(); |
207 | - while (!$fiber->isTerminated()) { |
|
208 | - if ($check !== null) { |
|
209 | - try { |
|
218 | + while (!$fiber->isTerminated()) |
|
219 | + { |
|
220 | + if ($check !== null) |
|
221 | + { |
|
222 | + try |
|
223 | + { |
|
210 | 224 | $value = $check($value); |
211 | - } catch (\Throwable $e) { |
|
225 | + } |
|
226 | + catch (\Throwable $e) |
|
227 | + { |
|
212 | 228 | $value = $fiber->throw($e); |
213 | 229 | continue; |
214 | 230 | } |
@@ -232,14 +248,17 @@ discard block |
||
232 | 248 | /** Values that were suspended by the fiber. */ |
233 | 249 | $suspends = []; |
234 | 250 | $results = []; |
235 | - foreach ($callables as $key => $callable) { |
|
236 | - $fiberGenerators[$key] = (static function () use ($callable) { |
|
251 | + foreach ($callables as $key => $callable) |
|
252 | + { |
|
253 | + $fiberGenerators[$key] = (static function () use ($callable) |
|
254 | + { |
|
237 | 255 | $fiber = new Fiber($callable); |
238 | 256 | // Get ready |
239 | 257 | yield null; |
240 | 258 | |
241 | 259 | $value = yield $fiber->start(); |
242 | - while (!$fiber->isTerminated()) { |
|
260 | + while (!$fiber->isTerminated()) |
|
261 | + { |
|
243 | 262 | $value = yield $fiber->resume($value); |
244 | 263 | } |
245 | 264 | return $fiber->getReturn(); |
@@ -249,15 +268,21 @@ discard block |
||
249 | 268 | } |
250 | 269 | |
251 | 270 | |
252 | - while ($fiberGenerators !== []) { |
|
253 | - foreach ($fiberGenerators as $key => $generator) { |
|
254 | - try { |
|
271 | + while ($fiberGenerators !== []) |
|
272 | + { |
|
273 | + foreach ($fiberGenerators as $key => $generator) |
|
274 | + { |
|
275 | + try |
|
276 | + { |
|
255 | 277 | $suspends[$key] = $generator->send($suspends[$key]); |
256 | - if (!$generator->valid()) { |
|
278 | + if (!$generator->valid()) |
|
279 | + { |
|
257 | 280 | $results[$key] = $generator->getReturn(); |
258 | 281 | unset($fiberGenerators[$key]); |
259 | 282 | } |
260 | - } catch (\Throwable $e) { |
|
283 | + } |
|
284 | + catch (\Throwable $e) |
|
285 | + { |
|
261 | 286 | unset($fiberGenerators[$key]); |
262 | 287 | $results[$key] = $e; |
263 | 288 | } |