addArgument( 'factory-class', InputArgument::OPTIONAL, 'Choose a name for your factory (e.g. MyEntityFactory)' ) ->addArgument( 'entity-class', InputArgument::OPTIONAL, 'Define the entity (e.g. MyEntity)' ) ->setHelp('') ; } public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator) { $entityDetails = $generator->createClassNameDetails( $input->getArgument('entity-class'), 'Entity\\', '' ); $factoryDetails = $generator->createClassNameDetails( $input->getArgument('factory-class'), 'Factory\\', '' ); $options = [ 'entity' => $entityDetails->getFullName(), ]; $factoryPath = $generator->generateController( $factoryDetails->getFullName(), __DIR__.'/../Resources/maker/factory/Factory.tpl.php', $options ); $generator->writeChanges(); $this->writeSuccessMessage($io); $io->text('Next: Open your new factory class and configure it!'); } public function configureDependencies(DependencyBuilder $dependencies) { $dependencies->addClassDependency( Annotation::class, 'doctrine/annotations' ); } }