Метод getOutput класса Process
Метод getOutput класса Process возвращает
стандартный вывод (stdout) внешней команды. Метод не
принимает параметров и вызывается после запуска процесса
методом run или start. Если процесс ещё
не завершился, метод дождётся его окончания и затем
вернёт накопленный вывод в виде строки.
Синтаксис
$res = $process->getOutput();
Пример
Давайте выполним команду ls и получим её вывод:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentProcessProcess;
class ProcessController extends AbstractController
{
public function index(): Response
{
$process = new Process(['ls']);
$process->run();
$res = $process->getOutput();
return new Response($res);
}
}
?>
Результат выполнения кода:
"article
user
hello"
Пример
Давайте выполним команду echo и вернём её вывод:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentProcessProcess;
class ProcessController extends AbstractController
{
public function index(): Response
{
$process = new Process(['echo', 'abcde']);
$process->run();
$res = $process->getOutput();
return new Response($res);
}
}
?>
Результат выполнения кода:
"abcde"
Смотрите также
-
метод
getErrorOutput,
который возвращает поток ошибок команды -
метод
run,
который запускает процесс и дожидается его завершения -
метод
mustRun,
который запускает процесс и бросает исключение при ошибке -
класс
Process,
который запускает внешние команды