Когда я отправляю свою форму, она читает файл из тысяч строк и выполняет некоторые задачи. Для этого я создал команду symfony. После того, как моя форма отправлена и проверена, я передаю команде необходимые аргументы. Различные задачи выполняются, но не асинхронно. Я не могу go перейти на другую страницу до завершения процесса.
Контроллер Symfony
<?php
namespace App/Controller
class FileConfigController
{
public function loadFile(KernelInterface $kernel) {
// ...
if ($form->isSubmitted() && $form->isValid()) {
$name = 'Test.xls';
$application = new Application($kernel);
$application->setAutoExit(false);
$application->setCatchExceptions(true);
$input = new ArrayInput([
'command' => 'app:load-file',
'name' = $name,
'type' = $form['type']->getData()
]);
$application->run($input, new NullOutput());
}
}
Командный сценарий Symfony
<?php
namespace App/Command
class FileCommand extends Command
{
protected static $defaultName = 'app:load-file';
protected function configure() {}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
$type = $input->getArgument('type');
// Script
}
}