Skip to content

Commit d972fd3

Browse files
committed
feat: add php 8.1 fibers example
1 parent c223222 commit d972fd3

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

php8.1-news/docker.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
example=$(ls src | fzf)
22

3-
docker run -it -v `pwd`:`pwd` -w `pwd` phpdaily/php:8.1-dev php "src/$example" 2>/dev/null
3+
if [[ $example == *"fibers"* ]]; then
4+
docker run -it -v `pwd`:`pwd` -w `pwd` phpfiber php "src/$example" 2>/dev/null
5+
else
6+
docker run -it -v `pwd`:`pwd` -w `pwd` phpdaily/php:8.1-dev php "src/$example" 2>/dev/null
7+
fi
8+
9+
10+

php8.1-news/inside-docker.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docker run -it -v `pwd`:`pwd` -w `pwd` phpdaily/php:8.1-dev 2>/dev/null
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
$fiber = new Fiber(function(string $initialValue): void {
4+
echo "🧬 ----- Empieza ejecución de la fibra\n";
5+
echo "🧬 Valor pasado por argumento: $initialValue\n";
6+
echo "🧬 -----\n\n";
7+
8+
$valorDelResume = Fiber::suspend('Suspendida 1 🧬');
9+
10+
echo "🧬 ----- Empieza primera reanudación de la fibra\n";
11+
echo "🧬 Valor del resume: $valorDelResume\n";
12+
echo "🧬 -----\n\n";
13+
14+
$valorDelResume2 = Fiber::suspend('Suspendida 2 🧬');
15+
16+
echo "🧬 ----- Empieza segunda reanudación de la fibra\n";
17+
echo "🧬 Valor del resume: $valorDelResume2\n";
18+
echo "🧬 -----\n\n";
19+
});
20+
21+
echo "🌍 Arrancando TODO!\n";
22+
$valorDeLaPrimeraSuspension = $fiber->start("Valor inicial 🌍");
23+
echo "🌍 Vamos a reanudar la fibra. MSG: $valorDeLaPrimeraSuspension!\n";
24+
$valorDeLaSegundaSuspension = $fiber->resume('Esto viene del 🌍');
25+
echo "🌍 La segunda suspensión nos ha dicho que $valorDeLaSegundaSuspension!\n";
26+
27+
echo "🌍 FIN";

0 commit comments

Comments
 (0)