Scope::__construct

(PHP 8.6+, True Async 1.0)

public function __construct()

Создаёт новый корневой Scope. Корневой scope не имеет родительского scope и является независимой единицей управления жизненным циклом корутин.

Примеры

Пример #1 Базовое использование

<?php

use Async\Scope;

$scope = new Scope();

$scope->spawn(function() {
    echo "Корутина в новом scope\n";
});

$scope->awaitCompletion();

Пример #2 Создание нескольких независимых scope

<?php

use Async\Scope;

$scopeA = new Scope();
$scopeB = new Scope();

$scopeA->spawn(function() {
    echo "Задача A\n";
});

$scopeB->spawn(function() {
    echo "Задача B\n";
});

// Отмена одного scope не влияет на другой
$scopeA->cancel();

// $scopeB продолжает работать
$scopeB->awaitCompletion();

См. также