Помічник Process
Дата оновлення перекладу 2024-04-30
Помічник Process
Помічник Process відображає процеси під час їх виконання та повідомляє корисну інформацію про статус процесу.
Щоб відобразити деталі процесу, використайте ProcessHelper і запустіть вашу команду з деталізацією. Наприклад, виконання наступного коду з дуже високою деталізацією (наприклад, -vv):
1 2 3 4 5 6
use Symfony\Component\Process\Process;
$helper = $this->getHelper('process');
$process = new Process(['figlet', 'Symfony']);
$helper->run($output, $process);
Призведе до такого виведення:
Це призведе до більш деталізованого виведення з деталізацією налагодження
(наприклад, -vvv
):
У разі невдачі процесу, налагодження буде простішим:
Note
За замовчуванням помічник process використовує виведення помилок (stderr
)
за замовчуванням. Цю поведінку можна змінити, передавши екземпляр
StreamOutput до
методу run().
Аргументи
Існує три способи використовувати помічника процесу:
Використання у командному рядку:
1 2
// ... $helper->run($output, 'figlet Symfony');
Масив аргументів:
1 2
// ... $helper->run($output, array('figlet', 'Symfony'));
Note
При запуску помічника з масивом аргументів, майте на увазі, що вони будуть автоматично екрановані.
Передача екземпляра Process:
1 2 3 4 5 6
use Symfony\Component\Process\Process; // ... $process = new Process(array('figlet', 'Symfony')); $helper->run($output, $process);
Користувацьке відображення
Ви можете користувацьке налаштоване повідомлення про помилку, використовуючи третій аругмент методу run():
1
$helper->run($output, $process, 'The process failed :(');
Користувацький зворотний виклик процесу може бути передано в якості четвертого аргумента. Зверніться до Компонента Process, щоб побачити документацію зворотного виклику:
1 2 3 4 5 6 7 8 9
use Symfony\Component\Process\Process;
$helper->run($output, $process, 'The process failed :(', function (string $type, string $data): void {
if (Process::ERR === $type) {
// ... зробити щось з виведенням stderr
} else {
// ... зробити щось з stdout
}
});