Ich muss in einem Arbeitsverzeichnis eine Composer-Installation nach einer jquery-succes starten (ich entwickle ein Git-Panel unter Silex). Mir wurde gesagt, dass es mit Symfony Console gut gemacht werden kann, weil es einige Optionen behalten kann. Aber ich habe wirklich keine Ahnung, wie ich es nennen soll.Eine "Composer-Installation" in einer Symfony-Konsole durchführen
ich eine Klasse Wich erstreckt Befehl erstellt, ich glaube, ich habe es unter implementieren Methode ausführen ...
class ComposerCommand extends Command
{
protected function configure()
{
$this
->setName('composer:install')
->setDescription('Composer install')
->addArgument()
->addOption()
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
}
}
Dank für Ihre Hilfe danken ...
Edit: Das versucht:
<?php
namespace App\Console\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
class TestCommand extends Command {
protected function configure() {
$this->setName("test")
->setDescription("Sample description for our command named test")
->setDefinition(array(
new InputOption('flag', 'f', InputOption::VALUE_NONE, 'Raise a flag'),
new InputArgument('activities', InputArgument::IS_ARRAY, 'Space-separated activities to perform', null),
))
->setHelp(<<<EOT
The <info>test</info> command does things and stuff
EOT
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
try {
\Phar::mapPhar('composer.phar');
include 'phar://composer.phar/demarrage.php';
} catch (\Exception $e) {
throw new \Exception($e);
}
}
}
Noch funktioniert nicht ...
1. Sie brauchen kein "name" -Argument (wahrscheinlich einige andere Argumente, aber in diesem Zusammenhang brauchen Sie keinen Namen). 2. Ich denke, Sie müssen Shell-Befehl von Ihrem Befehl aufrufen. – Alex
Shell Exec nimmt nicht die Argumente: Composer Installation --no-interaction – Amelie
Sie können dies überprüfen: https://github.com/composer/composer/issues/1906 – mTorres