Scope::__construct

(PHP 8.6+, True Async 1.0)

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

use Async\Scope;

$scope = new Scope();

$scope->spawn(function() {
    echo "Coroutine in un nuovo scope\n";
});

$scope->awaitCompletion();

Esempio #2 Creazione di scope indipendenti multipli

<?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();

Vedi anche