У меня есть команда symfony 4, и я собираюсь связать их с входной сущностью Project
Я переместил команду под представителем (src / Appbundle / Service / CloneProject)
затем в контроллере у меня есть setcontainer для изменения содержимого ввода в id моего проекта, но есть
namespace App\AppBundle\Service\CloneServiceCommand;
public function execute(InputInterface $input, OutputInterface $output)
{
$projectId = $input->getArgument('projectId');
$project = $this->projectManager->findOneBy(['id' => $projectId]);
if (!$project instanceof \App\Entity\Project) {
throw new \Exception('Project not found');
}
$output->writeln('<info>Clone project</info>');
$nameProject = $project->getName();
$urlProject = $project->getUrl();
$tokenProject = $project->getTokenProject();
$pathProject = '/home/ke/WorkSpaceProjects/'. $nameProject ;
echo $pathProject;
$process = new Process('git clone https://gitlab-ci-token:' . $tokenProject . "@" . $urlProject . " " . "/home/ke/WorkSpaceProjects/" . $nameProject);
$process->run();
}
в моем контроллере
public function postAction(Request $request, Validator $validator)
{
$data = $request->request->all();
/** @var Project $project */
$project = new Project();
$validator->validateForm(ProjectType::class, $data, $project);
//dump($project);
$project = $validator->validateForm(ProjectType::class, $data)->getData();
//dump($project);
$projectId = $project->getId();
$command = new CloneService($this->projectManager);
$command->setContainer($this->container);
$input = new ArrayInput(array('projectId' => $projectId));
$output = new NullOutput();
$command->run($input, $output);
$this->projectManager->saveProject($project);
return new ApiCreatedResponse(['project' => $project]);
}
моя проблема неопределена setContainer в моем контроллереПроект