Ojs\CoreBundle\Command\ThirdPartyInstallCommand::composerUpdate PHP Метод

composerUpdate() приватный Метод

private composerUpdate ( Symfony\Component\Console\Output\OutputInterface $output, Symfony\Component\HttpKernel\KernelInterface $kernel )
$output Symfony\Component\Console\Output\OutputInterface
$kernel Symfony\Component\HttpKernel\KernelInterface
    private function composerUpdate(OutputInterface $output, KernelInterface $kernel)
    {
        $fs = new Filesystem();
        $thirdPartyDir = $kernel->getRootDir() . '/../thirdparty';
        $composerFile = $thirdPartyDir . '/' . str_replace(array('-', '/'), '_', $this->packageData[$this->packageName]['name']) . '.json';
        if (!$fs->exists($composerFile)) {
            if (!$fs->exists($thirdPartyDir)) {
                $fs->mkdir($thirdPartyDir);
            }
            $fs->touch($composerFile);
        }
        file_put_contents($composerFile, str_replace('    ', '  ', json_encode($this->packageData[$this->packageName], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)) . "\n");
        $install = new Process('php composer.phar update', $kernel->getRootDir() . '/..', null, null, 600);
        $install->setPty(true);
        try {
            $install->mustRun();
            $output->writeln($install->getOutput());
        } catch (ProcessFailedException $e) {
            $output->writeln($e->getMessage());
        }
        if ($install->isSuccessful()) {
            $output->writeln('<info>Packages succesfully installed</info>');
        } else {
            $output->writeln('<error>Packages installation failed</error>');
        }
    }