addArgument( 'repository-class', InputArgument::OPTIONAL, 'Define the repository (e.g. MyEntityRepository)' ) ->setHelp('') ; } public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator) { $repositoryClass = $input->getArgument('repository-class'); $repositoryDetails = $generator->createClassNameDetails( $repositoryClass, 'Repository\\', '' ); $queryDetails = $generator->createClassNameDetails( $repositoryClass.'Query', 'Repository\\', '' ); $id = u($queryDetails->getShortName()) ->truncate(1) ->lower() ; $options = [ 'repository' => $repositoryDetails->getFullName(), 'id' => $id, ]; $factoryPath = $generator->generateController( $queryDetails->getFullName(), __DIR__.'/../Resources/maker/repository/RepositoryQuery.tpl.php', $options ); $generator->writeChanges(); $this->writeSuccessMessage($io); $io->text('Next: Open your new repository query class and configure it!'); } public function configureDependencies(DependencyBuilder $dependencies) { $dependencies->addClassDependency( Annotation::class, 'doctrine/annotations' ); } }