Scope::__construct
(PHP 8.6+, True Async 1.0)
php
public function __construct()Crea un nuovo Scope radice. Uno scope radice non ha uno scope genitore e funge da unita' indipendente per la gestione del ciclo di vita delle coroutine.
Esempi
Esempio #1 Utilizzo base
php
<?php
use Async\Scope;
$scope = new Scope();
$scope->spawn(function() {
echo "Coroutine in un nuovo scope\n";
});
$scope->awaitCompletion(Async\timeout(5000));Esempio #2 Creazione di scope indipendenti multipli
php
<?php
use Async\Scope;
$scopeA = new Scope();
$scopeB = new Scope();
$scopeA->spawn(function() {
echo "Task A\n";
});
$scopeB->spawn(function() {
echo "Task B\n";
});
// La cancellazione di uno scope non influenza l'altro
$scopeA->cancel();
// $scopeB continua a funzionare
$scopeB->awaitCompletion(Async\timeout(5000));Vedi anche
- Scope::inherit — Crea uno Scope figlio
- Scope::spawn — Avvia una coroutine nello scope