Class JobCommand
Property Summary
-
$_eventClass protected
stringDefault class name for new event objects.
-
$_eventManager protected
Cake\Event\EventManagerInterface|nullInstance of the Cake\Event\EventManager this object is using to dispatch inner events.
-
$_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullTable locator instance
-
$connection public
string -
$defaultTable protected
string|nullThis object's default table alias.
-
$factory protected
?CommandFactoryInterface -
$force public
bool -
$name protected
stringThe name of this command.
-
$pathFragment public
stringThe pathFragment appended to the plugin/app path.
-
$plugin public
string -
$theme public
string|null
Method Summary
-
__construct() public
Constructor
-
_camelize() protected
Creates a camelized version of $name
-
_entityName() protected
Creates the proper entity name (singular) for the specified name
-
_fixtureName() protected
Creates a fixture name
-
_getBakeThemes() protected
Get available bake themes
-
_getName() protected
Handles splitting up the plugin prefix and classname.
-
_modelKey() protected
Creates the proper underscored model key for associations
-
_modelNameFromKey() protected
Creates the proper model name from a foreign key
-
_pluginNamespace() protected
Return plugin's namespace
-
_pluginPath() protected
Find the correct path for a plugin. Scans $pluginPaths for the plugin you want.
-
_pluralHumanName() protected
Creates the plural human name used in views
-
_setCommonOptions() protected
Set common options used by all bake tasks.
-
_singularHumanName() protected
Creates the singular human name used in views
-
_singularName() protected
Creates the singular name for use in views.
-
_variableName() protected
Creates the plural variable name for views
-
abort() public
Halt the current process with a StopException.
-
bake() protected
Generate a class stub
-
bakeTest() public
Generate a test case.
-
buildOptionParser() public
Gets the option parser instance and configures it.
-
createTemplateRenderer() public
Creates a new instance of TemplateRenderer with theme set.
-
defaultName() public static
Get the command name.
-
deleteEmptyFile() protected
Delete empty file in a given path
-
dispatchEvent() public
Wrapper for creating and dispatching events.
-
displayHelp() protected
Output help content
-
execute() public
Execute the command.
-
executeCommand() public
Execute another command with the provided set of arguments.
-
extractCommonProperties() protected
Pull common/frequently used arguments & options into properties so that method signatures can be simpler.
-
fetchTable() public
Convenience method to get a table instance.
-
fileName() public
Get the generated object's filename without the leading path.
-
getDescription() public static
Get the command description.
-
getEventManager() public
Returns the Cake\Event\EventManager manager instance for this object.
-
getName() public
Get the command name.
-
getOptionParser() public
Get the option parser.
-
getPath() public
Gets the path for output. Checks the plugin property and returns the correct path.
-
getPrefix() protected
Get the prefix name.
-
getRootName() public
Get the root command name.
-
getTableLocator() public
Gets the table locator.
-
getTemplatePath() public
Gets the path to the template path for the application or plugin.
-
initialize() public
Initialize the command.
-
isValidColumnName() protected
Check if a column name is valid.
-
log() public
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
-
name() public
Get the generated object's name.
-
parseFile() protected
Parses a file if it exists.
-
run() public
Run the command.
-
setEventManager() public
Returns the Cake\Event\EventManagerInterface instance for this object.
-
setName() public
Set the name this command uses in the collection.
-
setOutputLevel() protected
Set the output level based on the Arguments.
-
setTableLocator() public
Sets the table locator.
-
template() public
Get the template name.
-
templateData() public
Get template data.
-
writeFile() protected
Write file contents out to path and prompt user with options with file exists.
Method Detail
__construct() ¶ public
__construct(Cake\Console\CommandFactoryInterface|null $factory = null)
Constructor
Parameters
-
Cake\Console\CommandFactoryInterface|null$factory optional Command factory instance.
_camelize() ¶ protected
_camelize(string $name): string
Creates a camelized version of $name
Parameters
-
string$name name
Returns
stringCamelized name
_entityName() ¶ protected
_entityName(string $name): string
Creates the proper entity name (singular) for the specified name
Parameters
-
string$name Name
Returns
stringCamelized and plural model name
_fixtureName() ¶ protected
_fixtureName(string $name): string
Creates a fixture name
Parameters
-
string$name Model class name
Returns
stringSingular model key
_getName() ¶ protected
_getName(string $name): string
Handles splitting up the plugin prefix and classname.
Sets the plugin parameter and plugin property.
Parameters
-
string$name The name to possibly split.
Returns
stringThe name without the plugin prefix.
_modelKey() ¶ protected
_modelKey(string $name): string
Creates the proper underscored model key for associations
If the input contains a dot, assume that the right side is the real table name.
Parameters
-
string$name Model class name
Returns
stringSingular model key
_modelNameFromKey() ¶ protected
_modelNameFromKey(string $key): string
Creates the proper model name from a foreign key
Parameters
-
string$key Foreign key
Returns
stringModel name
_pluginNamespace() ¶ protected
_pluginNamespace(string $pluginName): string
Return plugin's namespace
Parameters
-
string$pluginName Plugin name
Returns
stringPlugin's namespace
_pluginPath() ¶ protected
_pluginPath(string $pluginName): string
Find the correct path for a plugin. Scans $pluginPaths for the plugin you want.
Parameters
-
string$pluginName Name of the plugin you want ie. DebugKit
Returns
stringPath to the correct plugin.
_pluralHumanName() ¶ protected
_pluralHumanName(string $name): string
Creates the plural human name used in views
Parameters
-
string$name Controller name
Returns
stringPlural human name
_setCommonOptions() ¶ protected
_setCommonOptions(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser
Set common options used by all bake tasks.
Parameters
-
Cake\Console\ConsoleOptionParser$parser Options parser.
Returns
Cake\Console\ConsoleOptionParser_singularHumanName() ¶ protected
_singularHumanName(string $name): string
Creates the singular human name used in views
Parameters
-
string$name Controller name
Returns
stringSingular human name
_singularName() ¶ protected
_singularName(string $name): string
Creates the singular name for use in views.
Parameters
-
string$name Name to use
Returns
stringVariable name
_variableName() ¶ protected
_variableName(string $name): string
Creates the plural variable name for views
Parameters
-
string$name Name to use
Returns
stringPlural name for views
abort() ¶ public
abort(int $code = self::CODE_ERROR): never
Halt the current process with a StopException.
Parameters
-
int$code optional The exit code to use.
Returns
neverThrows
Cake\Console\Exception\StopExceptionbake() ¶ protected
bake(string $name, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Generate a class stub
Parameters
-
string$name The class name
-
Cake\Console\Arguments$args The console arguments
-
Cake\Console\ConsoleIo$io The console io
Returns
voidbakeTest() ¶ public
bakeTest(string $className, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Generate a test case.
Parameters
-
string$className The class to bake a test for.
-
Cake\Console\Arguments$args The console arguments
-
Cake\Console\ConsoleIo$io The console io
Returns
voidbuildOptionParser() ¶ public
buildOptionParser(Cake\Console\ConsoleOptionParser $parser): Cake\Console\ConsoleOptionParser
Gets the option parser instance and configures it.
Parameters
-
Cake\Console\ConsoleOptionParser$parser The parser to update.
Returns
Cake\Console\ConsoleOptionParsercreateTemplateRenderer() ¶ public
createTemplateRenderer(): Bake\Utility\TemplateRenderer
Creates a new instance of TemplateRenderer with theme set.
Returns
Bake\Utility\TemplateRendererdefaultName() ¶ public static
defaultName(): string
Get the command name.
Returns the command name based on class name.
For e.g. for a command with class name UpdateTableCommand or BakeUpdateTableCommand
the default name returned would be 'bake update_table'.
Returns
stringdeleteEmptyFile() ¶ protected
deleteEmptyFile(string $path, Cake\Console\ConsoleIo $io): void
Delete empty file in a given path
Parameters
-
string$path Path to folder which contains 'empty' file.
-
Cake\Console\ConsoleIo$io ConsoleIo to delete file with.
Returns
voiddispatchEvent() ¶ public
dispatchEvent(string $name, array $data = [], TSubject|null $subject = null): Cake\Event\EventInterface<TSubject>
Wrapper for creating and dispatching events.
Returns a dispatched event.
Parameters
-
string$name Name of the event.
-
array$data optional Any value you wish to be transported with this event to it can be read by listeners.
-
TSubject|null$subject optional The object that this event applies to ($this by default).
Returns
Cake\Event\EventInterface<TSubject>displayHelp() ¶ protected
displayHelp(Cake\Console\ConsoleOptionParser $parser, Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Output help content
Parameters
-
Cake\Console\ConsoleOptionParser$parser The option parser.
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
voidexecute() ¶ public
execute(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): int|null
Execute the command.
Parameters
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
int|nullThe exit code or null for success
executeCommand() ¶ public
executeCommand(Cake\Console\CommandInterface|string $command, array $args = [], Cake\Console\ConsoleIo|null $io = null): int|null
Execute another command with the provided set of arguments.
If you are using a string command name, that command's dependencies will not be resolved with the application container. Instead you will need to pass the command as an object with all of its dependencies.
Parameters
-
Cake\Console\CommandInterface|string$command The command class name or command instance.
-
array$args optional The arguments to invoke the command with.
-
Cake\Console\ConsoleIo|null$io optional The ConsoleIo instance to use for the executed command.
Returns
int|nullThe exit code or null for success of the command.
extractCommonProperties() ¶ protected
extractCommonProperties(Cake\Console\Arguments $args): void
Pull common/frequently used arguments & options into properties so that method signatures can be simpler.
Parameters
-
Cake\Console\Arguments$args Arguments to extract
Returns
voidfetchTable() ¶ public
fetchTable(class-string<T>|string|null $alias = null, array<string, mixed> $options = []): $alias is class-string<T> ? T : \Cake\ORM\Table
Convenience method to get a table instance.
Templates
T
of \Cake\ORM\Table Parameters
-
class-string<T>|string|null$alias optional The alias name you want to get. Should be in CamelCase format. If
nullthen the value of $defaultTable property is used.-
array<string, mixed>$options optional The options you want to build the table with. If a table has already been loaded the registry options will be ignored.
Returns
$alias is class-string<T> ? T : \Cake\ORM\TableThrows
Cake\Core\Exception\CakeExceptionIf `$alias` argument and `$defaultTable` property both are `null`.
See Also
fileName() ¶ public
fileName(string $name): string
Get the generated object's filename without the leading path.
Parameters
-
string$name
Returns
stringgetDescription() ¶ public static
getDescription(): string
Get the command description.
Returns
stringgetEventManager() ¶ public
getEventManager(): Cake\Event\EventManagerInterface
Returns the Cake\Event\EventManager manager instance for this object.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Returns
Cake\Event\EventManagerInterfacegetOptionParser() ¶ public
getOptionParser(): Cake\Console\ConsoleOptionParser
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
Cake\Console\ConsoleOptionParserThrows
Cake\Core\Exception\CakeExceptionWhen the parser is invalid
getPath() ¶ public
getPath(Cake\Console\Arguments $args): string
Gets the path for output. Checks the plugin property and returns the correct path.
Parameters
-
Cake\Console\Arguments$args Arguments instance to read the prefix option from.
Returns
stringPath to output.
getPrefix() ¶ protected
getPrefix(Cake\Console\Arguments $args): string
Get the prefix name.
Handles camelcasing each namespace in the prefix path.
Parameters
-
Cake\Console\Arguments$args Arguments instance to read the prefix option from.
Returns
stringThe inflected prefix path.
getTableLocator() ¶ public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Gets the table locator.
Returns
Cake\ORM\Locator\LocatorInterfacegetTemplatePath() ¶ public
getTemplatePath(Cake\Console\Arguments $args, string|null $container = null): string
Gets the path to the template path for the application or plugin.
Parameters
-
Cake\Console\Arguments$args Arguments instance to read the prefix option from.
-
string|null$container optional The container directory in the templates directory.
Returns
stringPath to output.
initialize() ¶ public
initialize(): void
Initialize the command.
Override this method and implement expensive/important setup steps that should not run on every command run. This method will be called before the options and arguments are validated and processed.
Returns
voidisValidColumnName() ¶ protected
isValidColumnName(string $name): bool
Check if a column name is valid.
The Regex used here basically states that:
- the column name has to start with an ASCII character (lower or upper case) or an underscore and
- further characters are allowed to be either lower or upper case ASCII characters, numbers or underscores.
Parameters
-
string$name The name of the column.
Returns
boollog() ¶ public
log(Stringable|string $message, string|int $level = LogLevel::ERROR, array|string $context = []): bool
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
Parameters
-
Stringable|string$message Log message.
-
string|int$level optional Error level.
-
array|string$context optional Additional log data relevant to this message.
Returns
boolSuccess of log write.
parseFile() ¶ protected
parseFile(string $path): Bake\CodeGen\ParsedFile|null
Parses a file if it exists.
Parameters
-
string$path File path
Returns
Bake\CodeGen\ParsedFile|nullrun() ¶ public
run(array $argv, Cake\Console\ConsoleIo $io): int|null
Run the command.
Parameters
-
array$argv -
Cake\Console\ConsoleIo$io
Returns
int|nullsetEventManager() ¶ public
setEventManager(Cake\Event\EventManagerInterface $eventManager): $this
Returns the Cake\Event\EventManagerInterface instance for this object.
You can use this instance to register any new listeners or callbacks to the object events, or create your own events and trigger them at will.
Parameters
-
Cake\Event\EventManagerInterface$eventManager the eventManager to set
Returns
$thissetName() ¶ public
setName(string $name): $this
Set the name this command uses in the collection.
Generally invoked by the CommandCollection when the command is added. Required to have at least one space in the name so that the root command can be calculated.
Parameters
-
string$name
Returns
$thissetOutputLevel() ¶ protected
setOutputLevel(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Set the output level based on the Arguments.
Parameters
-
Cake\Console\Arguments$args The command arguments.
-
Cake\Console\ConsoleIo$io The console io
Returns
voidsetTableLocator() ¶ public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Sets the table locator.
Parameters
-
Cake\ORM\Locator\LocatorInterface$tableLocator LocatorInterface instance.
Returns
$thistemplateData() ¶ public
templateData(Cake\Console\Arguments $arguments): array
Get template data.
Parameters
-
Cake\Console\Arguments$arguments
Returns
arraywriteFile() ¶ protected
writeFile(Cake\Console\ConsoleIo $io, string $path, string $contents, bool $forceOverwrite = false, bool $skipIfUnchanged = true): bool
Write file contents out to path and prompt user with options with file exists.
Parameters
-
Cake\Console\ConsoleIo$io Console io
-
string$path The path to create the file at
-
string$contents The contents to put into the file
-
bool$forceOverwrite optional Whether the file should be overwritten without prompting the user
-
bool$skipIfUnchanged optional Skip writing output if the contents match existing file
Returns
boolTrue if successful, false otherwise
Throws
Cake\Console\Exception\StopExceptionWhen `q` is given as an answer to whether a file should be overwritten.
Property Detail
$_eventManager ¶ protected
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
Type
Cake\Event\EventManagerInterface|null