/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Command
NameSizeModeActions
AllCommand.php38990644editdlrm
BakeCommand.php77070644editdlrm
BehaviorCommand.php12380644editdlrm
CellCommand.php34180644editdlrm
CommandCommand.php12310644editdlrm
CommandHelperCommand.php12520644editdlrm
ComponentCommand.php12540644editdlrm
ControllerAllCommand.php27860644editdlrm
ControllerCommand.php94330644editdlrm
EntryCommand.php74160644editdlrm
FixtureAllCommand.php32580644editdlrm
FixtureCommand.php178000644editdlrm
FormCommand.php12070644editdlrm
HelperCommand.php12240644editdlrm
MailerCommand.php16910644editdlrm
MiddlewareCommand.php12490644editdlrm
ModelAllCommand.php27420644editdlrm
ModelCommand.php487300644editdlrm
PluginCommand.php147230644editdlrm
ShellHelperCommand.php12420644editdlrm
SimpleBakeCommand.php47930644editdlrm
TemplateAllCommand.php28420644editdlrm
TemplateCommand.php142920644editdlrm
TestCommand.php267160644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Command/ControllerCommand.php (9433B)
extractCommonProperties($args); $name = $args->getArgument('name') ?? ''; $name = $this->_getName($name); if (empty($name)) { /** @var \Cake\Database\Connection $connection */ $connection = ConnectionManager::get($this->connection); $scanner = new TableScanner($connection); $io->out('Possible controllers based on your current database:'); foreach ($scanner->listUnskipped() as $table) { $io->out('- ' . $this->_camelize($table)); } return static::CODE_SUCCESS; } $controller = $this->_camelize($name); $this->bake($controller, $args, $io); return static::CODE_SUCCESS; } /** * Assembles and writes a Controller file * * @param string $controllerName Controller name already pluralized and correctly cased. * @param \Cake\Console\Arguments $args The console arguments * @param \Cake\Console\ConsoleIo $io The console io * @return void */ public function bake(string $controllerName, Arguments $args, ConsoleIo $io): void { $io->quiet(sprintf('Baking controller class for %s...', $controllerName)); $actions = []; if (!$args->getOption('no-actions') && !$args->getOption('actions')) { $actions = ['index', 'view', 'add', 'edit', 'delete']; } if ($args->getOption('actions')) { $actions = array_map('trim', explode(',', $args->getOption('actions'))); $actions = array_filter($actions); } $helpers = $this->getHelpers($args); $components = $this->getComponents($args); $prefix = $this->getPrefix($args); if ($prefix) { $prefix = '\\' . str_replace('/', '\\', $prefix); } // Controllers default to importing AppController from `App` $baseNamespace = $namespace = Configure::read('App.namespace'); if ($this->plugin) { $namespace = $this->_pluginNamespace($this->plugin); } // If the plugin has an AppController other plugin controllers // should inherit from it. if ($this->plugin && class_exists("{$namespace}\Controller\AppController")) { $baseNamespace = $namespace; } $currentModelName = $controllerName; $plugin = $this->plugin; if ($plugin) { $plugin .= '.'; } if ($this->getTableLocator()->exists($plugin . $currentModelName)) { $modelObj = $this->getTableLocator()->get($plugin . $currentModelName); } else { $modelObj = $this->getTableLocator()->get($plugin . $currentModelName, [ 'connectionName' => $this->connection, ]); } $pluralName = $this->_variableName($currentModelName); $singularName = $this->_singularName($currentModelName); $singularHumanName = $this->_singularHumanName($controllerName); $pluralHumanName = $this->_variableName($controllerName); $defaultModel = sprintf('%s\Model\Table\%sTable', $namespace, $controllerName); if (!class_exists($defaultModel)) { $defaultModel = null; } $entityClassName = $this->_entityName($modelObj->getAlias()); $data = compact( 'actions', 'components', 'currentModelName', 'defaultModel', 'entityClassName', 'helpers', 'modelObj', 'namespace', 'baseNamespace', 'plugin', 'pluralHumanName', 'pluralName', 'prefix', 'singularHumanName', 'singularName' ); $data['name'] = $controllerName; $this->bakeController($controllerName, $data, $args, $io); $this->bakeTest($controllerName, $args, $io); } /** * Generate the controller code * * @param string $controllerName The name of the controller. * @param array $data The data to turn into code. * @param \Cake\Console\Arguments $args The console args * @param \Cake\Console\ConsoleIo $io The console io * @return void */ public function bakeController(string $controllerName, array $data, Arguments $args, ConsoleIo $io): void { $data += [ 'name' => null, 'namespace' => null, 'prefix' => null, 'actions' => null, 'helpers' => null, 'components' => null, 'plugin' => null, 'pluginPath' => null, ]; $contents = $this->createTemplateRenderer() ->set($data) ->generate('Bake.Controller/controller'); $path = $this->getPath($args); $filename = $path . $controllerName . 'Controller.php'; $io->createFile($filename, $contents, $this->force); } /** * Assembles and writes a unit test file * * @param string $className Controller class name * @param \Cake\Console\Arguments $args The console arguments * @param \Cake\Console\ConsoleIo $io The console io * @return void */ public function bakeTest(string $className, Arguments $args, ConsoleIo $io): void { if ($args->getOption('no-test')) { return; } $test = new TestCommand(); $testArgs = new Arguments( ['controller', $className], $args->getOptions(), ['type', 'name'] ); $test->execute($testArgs, $io); } /** * Get the list of components for the controller. * * @param \Cake\Console\Arguments $args The console arguments * @return string[] */ public function getComponents(Arguments $args): array { $components = []; if ($args->getOption('components')) { $components = explode(',', $args->getOption('components')); $components = array_values(array_filter(array_map('trim', $components))); } return $components; } /** * Get the list of helpers for the controller. * * @param \Cake\Console\Arguments $args The console arguments * @return string[] */ public function getHelpers(Arguments $args): array { $helpers = []; if ($args->getOption('helpers')) { $helpers = explode(',', $args->getOption('helpers')); $helpers = array_values(array_filter(array_map('trim', $helpers))); } return $helpers; } /** * Gets the option parser instance and configures it. * * @param \Cake\Console\ConsoleOptionParser $parser The console option parser * @return \Cake\Console\ConsoleOptionParser */ public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser { $parser = $this->_setCommonOptions($parser); $parser->setDescription( 'Bake a controller skeleton.' )->addArgument('name', [ 'help' => 'Name of the controller to bake (without the `Controller` suffix). ' . 'You can use Plugin.name to bake controllers into plugins.', ])->addOption('components', [ 'help' => 'The comma separated list of components to use.', ])->addOption('helpers', [ 'help' => 'The comma separated list of helpers to use.', ])->addOption('prefix', [ 'help' => 'The namespace/routing prefix to use.', ])->addOption('actions', [ 'help' => 'The comma separated list of actions to generate. ' . 'You can include custom methods provided by your template set here.', ])->addOption('no-test', [ 'boolean' => true, 'help' => 'Do not generate a test skeleton.', ])->addOption('no-actions', [ 'boolean' => true, 'help' => 'Do not generate basic CRUD action methods.', ]); return $parser; } }