habe ich eine neue Klasse in src/CollaboratorsBundle/Befehl, es GenerateFormRemindersCommand.php Namen und den folgenden Code in es:Symfony2 benutzerdefinierte Konsolenbefehl wird als „nicht definiert“ bei der Ausführung
<?php
namespace Myproject\CollaboratorsBundle\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
class GenerateFormRemindersCommand extends ContainerAwareCommand{
protected function configure() {
$this->setName("generate:formReminders")
->setDescription('Send reminders by email to all collaborators with unanswered forms');
}
protected function execute(InputInterface $input, OutputInterface $output) {
//some code
}
}
Bei der Ausführung, i erhalten folgende Meldung:
$ php app/console generate:formReminders
[InvalidArgumentException]
Command "generate:formReminders" is not defined.
ich in meiner AppKernel.php Datei überprüft haben, dass mein Bündel wurde in sie eingetragen und es war.
Ich habe versucht, Eltern hinzuzufügen: configure(); zur configure-Methode, aber ohne Ergebnisse.
Ich habe ein paar andere benutzerdefinierte Befehle erstellt, die korrekt funktionieren. Ich verstehe in diesem Fall nicht, was ich falsch mache. Machst du ?
Vielen Dank im Voraus
Sie haben keine Ahnung, wie richtig diese Antwort ist. Meine Güte. Gerade endete eine halbe Stunde Frustration für mich. –
@Jarrod, ja, verbrachte auch ungefähr eine Stunde. Und ich verstehe immer noch nicht, warum dieses Suffix 'Command' erforderlich ist, obwohl es einen speziellen Namespace für alle Befehle gibt. –
Hier ist eine Referenz von der Symfony-Website, die genau das sagt: http://symfony.com/doc/current/cookbook/console/console_command.html#automatisch-Registrierungs-Befehle – syss