Coroutine::getId
(PHP 8.6+, True Async 1.0)
php
public Coroutine::getId(): intПовертає унікальний цілочисельний ідентифікатор корутини. Ідентифікатор є унікальним у межах поточного процесу PHP.
Значення, що повертається
int -- унікальний ідентифікатор корутини.
Приклади
Приклад #1 Базове використання
php
<?php
use function Async\spawn;
$coroutine1 = spawn(function() {
return "task 1";
});
$coroutine2 = spawn(function() {
return "task 2";
});
$id1 = $coroutine1->getId();
$id2 = $coroutine2->getId();
var_dump(is_int($id1)); // bool(true)
var_dump($id1 !== $id2); // bool(true)Приклад #2 Логування з ідентифікатором
php
<?php
use function Async\spawn;
function loggedTask(string $name): \Async\Coroutine {
return spawn(function() use ($name) {
$id = \Async\current_coroutine()->getId();
echo "[coro:$id] Task '$name' started\n";
\Async\delay(1000);
echo "[coro:$id] Task '$name' completed\n";
});
}Дивіться також
- Coroutine::getSpawnLocation -- Місце створення корутини
- current_coroutine() -- Отримати поточну корутину