/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Shell/Task
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakephp/bake/src/Shell/Task/SimpleBakeTask.php (3503B)
*/
public function templateData(): array
{
$namespace = Configure::read('App.namespace');
if ($this->plugin) {
$namespace = $this->_pluginNamespace($this->plugin);
}
return ['namespace' => $namespace];
}
/**
* Execute method
*
* @param string|null $name The name of the object to bake.
* @return int|null
*/
public function main(?string $name = null): ?int
{
parent::main();
if (empty($name)) {
$this->abort('You must provide a name to bake a ' . $this->name());
}
$name = $this->_getName($name);
$name = Inflector::camelize($name);
$this->bake($name);
return static::CODE_SUCCESS;
}
/**
* Generate a class stub
*
* @param string $name The classname to generate.
* @return string
*/
public function bake(string $name): string
{
$renderer = new TemplateRenderer($this->param('theme'));
$renderer->set('name', $name);
$renderer->set($this->templateData());
$contents = $renderer->generate($this->template());
$filename = $this->getPath() . $this->fileName($name);
$this->createFile($filename, $contents);
$emptyFile = $this->getPath() . '.gitkeep';
$this->_deleteEmptyFile($emptyFile);
return $contents;
}
/**
* Gets the option parser instance and configures it.
*
* @return \Cake\Console\ConsoleOptionParser
*/
public function getOptionParser(): ConsoleOptionParser
{
$parser = parent::getOptionParser();
$name = $this->name();
$parser->setDescription(
sprintf('Bake a %s class file.', $name)
)->addArgument('name', [
'help' => sprintf(
'Name of the %s to bake. Can use Plugin.name to bake %s files into plugins.',
$name,
$name
),
]);
return $parser;
}
}