Future::getCompletedLocation

(PHP 8.6+, True Async 1.0)

public function getCompletedLocation(): string

Возвращает информацию о месте завершения Future в виде форматированной строки. Удобно для логирования и отладки.

Возвращаемое значение

string — строка формата файл:строка, например /app/worker.php:15. Если Future ещё не завершён, возвращает пустую строку.

Примеры

Пример #1 Получение места завершения как строки

<?php

use Async\Future;
use Async\FutureState;

$state = new FutureState();
$future = new Future($state);

$state->complete("результат");

echo $future->getCompletedLocation(); // /app/script.php:9

Пример #2 Полная трассировка жизненного цикла Future

<?php

use Async\Future;
use Async\FutureState;

$state = new FutureState();
$future = new Future($state);

\Async\async(function() use ($state) {
    \Async\delay(50);
    $state->complete("done");
});

$result = $future->await();

echo "Future жизненный цикл:\n";
echo "  Создан в:   " . $future->getCreatedLocation() . "\n";
echo "  Завершён в: " . $future->getCompletedLocation() . "\n";
echo "  Результат:  " . $result . "\n";

См. также