public function templateContents() { $tableInfo = new TableInfo($this->adapter); $stubReplacer = new ClassStubPlaceholderReplacer($this->getTemplateClassName(), $tableInfo, $this->getClassNamespace(), $this->shortArrays); return $stubReplacer->contents(); }
private function generateModel() { $tableName = $this->input->getArgument('table'); $className = $this->input->getOption('class'); $fileName = $this->input->getOption('file'); $nameSpace = $this->input->getOption('namespace'); $tablePrefixToRemove = $this->input->getOption('remove-prefix') ?: 't'; $shortArrays = $this->input->getOption('short-arrays'); if (empty($tableName)) { $this->fail("Specify table name e.g. users"); } try { $modelGenerator = new Generator($tableName, $className, $nameSpace, $tablePrefixToRemove, $shortArrays); $this->output->writeln('---------------------------------'); $this->writeInfo('Database name: <info>%s</info>', Config::getValue('db', 'dbname')); $this->writeInfo('Class name: <info>%s</info>', $modelGenerator->getTemplateClassName()); $this->writeInfo('Class namespace: <info>%s</info>', $modelGenerator->getClassNamespace()); $this->output->writeln('---------------------------------'); $this->output->writeln($modelGenerator->templateContents()); $this->output->writeln('---------------------------------'); if ($fileName) { $this->saveClassToFile($modelGenerator, $fileName); } else { $classFileName = ClassPathResolver::forClassAndNamespace($modelGenerator->getTemplateClassName(), $modelGenerator->getClassNamespace())->getClassFileName(); $this->saveClassToFile($modelGenerator, $classFileName); } } catch (GeneratorException $e) { $this->fail($e->getMessage()); } }