Class PluginAssetsSymlinkCommand
Command for symlinking / copying plugin assets to app's webroot.
Constants summary
-
int
CODE_ERROR1
-
int
CODE_SUCCESS0
Properties summary
- $_modelFactories protected
(callable|\Cake\Datasource\Locator\LocatorInterface)[]
A list of overridden model factory functions.
- $_modelType protected
string
The model type to use.
- $_tableLocator protected
\Cake\ORM\Locator\LocatorInterface|null
Table locator instance
- $args protected
\Cake\Console\Arguments
Arguments
- $io protected
\Cake\Console\ConsoleIo
Console IO
- $modelClass protected
string|null
This object's primary model class name. Should be a plural form.
- $name protected
string
The name of this command.
Method Summary
- log() public
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
Method Detail
__construct() public
__construct()
Constructor
By default CakePHP will construct command objects when building the CommandCollection for your application.
_copyDirectory() protected
_copyDirectory(string $source, string $destination)
Copy directory
Parameters
-
string
$source Source directory
-
string
$destination Destination directory
Returns
bool
_createDirectory() protected
_createDirectory(string $dir)
Create directory
Parameters
-
string
$dir Directory name
Returns
bool
_createSymlink() protected
_createSymlink(string $target, string $link)
Create symlink
Parameters
-
string
$target Target directory
-
string
$link Link name
Returns
bool
_list() protected
_list(?string $name)
Get list of plugins to process. Plugins without a webroot directory are skipped.
Parameters
-
string|null
$name optional Name of plugin for which to symlink assets. If null all plugins will be processed.
Returns
array
List of plugins with meta data.
_process() protected
_process(array $plugins, bool $copy, bool $overwrite)
Process plugins
Parameters
-
array
$plugins List of plugins to process
-
bool
$copy optional Force copy mode. Default false.
-
bool
$overwrite optional Overwrite existing files.
_remove() protected
_remove(array $config)
Remove folder/symlink.
Parameters
-
array
$config Plugin config.
Returns
bool
_setModelClass() protected
_setModelClass(string $name)
Set the modelClass property based on conventions.
If the property is already set it will not be overwritten
Parameters
-
string
$name Class name.
abort() public
abort(int $code)
Halt the the current process with a StopException.
Parameters
-
int
$code optional The exit code to use.
Throws
Cake\Console\Exception\StopException
buildOptionParser() public
buildOptionParser(\Cake\Console\ConsoleOptionParser $parser)
Get the option parser.
Parameters
-
\Cake\Console\ConsoleOptionParser
$parser The option parser to update
Returns
\Cake\Console\ConsoleOptionParser
defaultName() public static
defaultName()
Get the command name.
Returns the command name based on class name. For e.g. for a command with class name UpdateTableCommand
the default name returned would be 'update_table'
.
Returns
string
displayHelp() protected
displayHelp(\Cake\Console\ConsoleOptionParser $parser, \Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
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
execute() public
execute(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Execute the command
Attempt to symlink plugin assets to app's webroot. If symlinking fails it fallbacks to copying the assets. For vendor namespaced plugin, parent folder for vendor name are created if required.
Parameters
-
\Cake\Console\Arguments
$args The command arguments.
-
\Cake\Console\ConsoleIo
$io The console io
Returns
int|null
The exit code or null for success
executeCommand() public
executeCommand(mixed $command, array $args, ?\Cake\Console\ConsoleIo $io)
Execute another command with the provided set of arguments.
Parameters
-
string|\Cake\Console\CommandInterface
$command The command class name or command instance.
-
array
$args optional The arguments to invoke the command with.
-
\Cake\Console\ConsoleIo
$io optional The ConsoleIo instance to use for the executed command.
Returns
int|null
The exit code or null for success of the command.
getModelType() public
getModelType()
Get the model type to be used by this class
Returns
string
getName() public
getName()
Get the command name.
Returns
string
getOptionParser() public
getOptionParser()
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
\Cake\Console\ConsoleOptionParser
Throws
RuntimeException
When the parser is invalid
getRootName() public
getRootName()
Get the root command name.
Returns
string
getTableLocator() public
getTableLocator()
Gets the table locator.
Returns
\Cake\ORM\Locator\LocatorInterface
initialize() public
initialize()
Hook method invoked by CakePHP when a command is about to be executed.
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.
loadModel() public
loadModel(?string $modelClass, ?string $modelType)
Loads and constructs repository objects required by this object
Typically used to load ORM Table objects as required. Can also be used to load other types of repository objects your application uses.
If a repository provider does not return an object a MissingModelException will be thrown.
Parameters
-
string|null
$modelClass optional Name of model class to load. Defaults to $this->modelClass. The name can be an alias like
'Post'
or FQCN likeApp\Model\Table\PostsTable::class
.-
string|null
$modelType optional The type of repository to load. Defaults to the getModelType() value.
Returns
\Cake\Datasource\RepositoryInterface
The model instance created.
Throws
Cake\Datasource\Exception\MissingModelException
If the model class cannot be found.
UnexpectedValueException
If $modelClass argument is not provided and ModelAwareTrait::$modelClass property value is empty.
log() public
log(string $message, mixed $level, mixed $context)
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
Parameters
-
string
$message Log message.
-
int|string
$level optional Error level.
-
string|array
$context optional Additional log data relevant to this message.
Returns
bool
Success of log write.
modelFactory() public
modelFactory(string $type, mixed $factory)
Override a existing callable to generate repositories of a given type.
Parameters
-
string
$type The name of the repository type the factory function is for.
-
callable|\Cake\Datasource\Locator\LocatorInterface
$factory The factory function used to create instances.
run() public
run(array $argv, \Cake\Console\ConsoleIo $io)
Run the command.
Parameters
-
array
$argv Arguments from the CLI environment.
-
\Cake\Console\ConsoleIo
$io The console io
Returns
int|null
Exit code or null for success.
setModelType() public
setModelType(string $modelType)
Set the model type to be used by this class
Parameters
-
string
$modelType The model type
Returns
$this
setName() public
setName(string $name)
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 The name the command uses in the collection.
Returns
$this
Throws
InvalidArgumentException
setOutputLevel() protected
setOutputLevel(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Set the output level based on the Arguments.
Parameters
-
\Cake\Console\Arguments
$args The command arguments.
-
\Cake\Console\ConsoleIo
$io The console io
setTableLocator() public
setTableLocator(\Cake\ORM\Locator\LocatorInterface $tableLocator)
Sets the table locator.
Parameters
-
\Cake\ORM\Locator\LocatorInterface
$tableLocator LocatorInterface instance.
Returns
$this
Property Detail
$_modelFactories protected
A list of overridden model factory functions.
Type
(callable|\Cake\Datasource\Locator\LocatorInterface)[]
$_modelType protected
The model type to use.
Type
string
$_tableLocator protected
Table locator instance
Type
\Cake\ORM\Locator\LocatorInterface|null
$args protected
Arguments
Type
\Cake\Console\Arguments
$io protected
Console IO
Type
\Cake\Console\ConsoleIo
$modelClass protected
This object's primary model class name. Should be a plural form.
CakePHP will not inflect the name.
Example: For an object named 'Comments', the modelClass would be 'Comments'. Plugin classes should use Plugin.Comments
style names to correctly load models from the correct plugin.
Use empty string to not use auto-loading on this object. Null auto-detects based on controller name.
Type
string|null
$name protected
The name of this command.
Type
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Command.PluginAssetsSymlinkCommand.html