Reputation: 67
I'm trying to create a custom console command for my project so i thought I'll first try it out with the example given in the symfony site, I have provided the steps it took to reach this far,
Step 1: Added "symfony/console": "2.3.*@dev", to composer.json.
Step 2: Updated composer.
The code written for the command is given below
class Sendgcmfuctions extends ContainerAwareCommand {
protected function configure()
{
$this
->setName('demo:greet')
->setDescription('Greet someone')
->addArgument('name', InputArgument::OPTIONAL, 'Who do you want to greet?')
->addOption('yell', null, InputOption::VALUE_NONE, 'If set, the task will yell in uppercase letters')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
if ($name) {
$text = 'Hello '.$name;
} else {
$text = 'Hello';
}
if ($input->getOption('yell')) {
$text = strtoupper($text);
}
$output->writeln($text);
}
}
On running "php app/console demo:greet" the following error is produced
PHP Fatal error: Class 'Doctrine\ORM\Tools\Console\Command\ClearCache\QueryRegionCommand' not found in /var/www/MobpazAdmin/vendor/doctrine/doctrine-bundle/Doctrine/Bundle/DoctrineBundle/Command/Proxy/QueryRegionCacheDoctrineCommand.php on line 29
The "Sendgcmfuctions" is inside a Command folder inside my bundle. Please tell me the mistake commited while doing this
Upvotes: 0
Views: 2035
Reputation: 67
I did as Max suggested and the installation went smoothly, the exception
[InvalidArgumentException]
There are no commands defined in the "demo" namespace.
was due to a naming problem had to add a suffix of to the class name as Command
Upvotes: 0
Reputation: 36
it seems to be an issue of doctrine's latest bundle. try use another stable version.
"doctrine/doctrine-bundle": "1.2.0" works for us
Upvotes: 2
Reputation: 12306
Try to use next require in composer.json:
"symfony/console": "~2.3"
It's probably an vendor error. Try to use later stable version
Upvotes: 0