我有一个 Symfony2 应用程序。在一个包中,我在 Command 文件夹中有一个命令类;然后,当我尝试执行时:
php app/console doctrine:database:[something]
我得到:
[InvalidArgumentException]
There are no commands defined in the "doctrine:database" namespace.
但是,如果我重命名命令文件夹(例如 Command_),则不会出现异常并且一切运行良好,问题是如果命令文件夹的名称不是“命令”,我将无法使用该命令。
这是可能的代码:
RunMigrationXCommand.php:
<?php
#!/usr/bin/env php
// app/console
use Symfony\Component\Console\Application;
use eCommerce\MigrationBundle\Command\MigrationXCommand;
$application = new Application();
$application->add(new MigrationXCommand);
$application->run();
和 MigrationXCommand.php:
class MigrationXCommand extends ContainerAwareCommand {
protected function configure() {
parent::configure();
$this
->setName('migrationX')
->setDescription('Migration BBDD')
->addArgument(
'argument', InputArgument::OPTIONAL, 'What do you want to migrate?'
);
}
protected function execute(InputInterface $input, OutputInterface $output) {
// ...
}
有什么修复吗?