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