ho creato una nuova classe nel src/CollaboratorsBundle/comando denominato esso GenerateFormRemindersCommand.php e mettere il seguente codice in esso:comando di Symfony2 console personalizzata appare come "non definito" al momento dell'esecuzione
<?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
}
}
Al momento dell'esecuzione, ricevo il seguente messaggio:
$ php app/console generate:formReminders
[InvalidArgumentException]
Command "generate:formReminders" is not defined.
Ho controllato nel mio file AppKernel.php che il mio pacchetto è stato registrato ed è stato.
Ho provato ad aggiungere genitore: configure(); al metodo configure ma senza risultati.
Ho creato alcuni altri comandi personalizzati che funzionano correttamente. Non capisco cosa sto sbagliando in questo caso. Fai ?
Grazie in anticipo
Non hai idea di quanto sia giusta questa risposta. Sheesh. Ho appena finito mezz'ora di frustrazione per me. –
@ Jarrod, sì, ha trascorso anche circa un'ora. E ancora non capisco perché questo suffisso 'Comando' sia richiesto anche se c'è uno spazio dei nomi speciale per tutti i comandi. –
ecco un riferimento dal sito web di symfony che dice esattamente questo: http://symfony.com/doc/current/cookbook/console/console_command.html#automatically-registering-commands – syss