Class I18nExtractCommand
Language string extractor
Constants summary
-
int
CODE_ERROR1
-
int
CODE_SUCCESS0
Properties summary
- $_countMarkerError protected
int
Count number of marker errors found
- $_exclude protected
string[]
An array of directories to exclude.
- $_extractCore protected
bool
Holds whether this call should extract the CakePHP Lib messages
- $_file protected
string
Current file being processed
- $_files protected
string[]
Files from where to extract
- $_markerError protected
bool
Displays marker error(s) if true
- $_merge protected
bool
Merge all domain strings into the default.pot file
- $_modelFactories protected
(callable|\Cake\Datasource\Locator\LocatorInterface)[]
A list of overridden model factory functions.
- $_modelType protected
string
The model type to use.
- $_output protected
string
Destination path
- $_paths protected
string[]
Paths to use when looking for strings
- $_relativePaths protected
bool
Use relative paths in the pot files rather than full path
- $_storage protected
array
Contains all content waiting to be write
- $_tableLocator protected
\Cake\ORM\Locator\LocatorInterface|null
Table locator instance
- $_tokens protected
array
Extracted tokens
- $_translations protected
array
Extracted strings indexed by domain.
- $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
- _isExtractingApp() protected
Returns whether this execution is meant to extract string only from directories in folder represented by the APP constant, i.e. this task is extracting strings from same application.
- 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.
_addTranslation() protected
_addTranslation(string $domain, string $msgid, array $details)
Add a translation to the internal translations property
Takes care of duplicate translations
Parameters
-
string
$domain The domain
-
string
$msgid The message string
-
array
$details optional Context and plural form if any, file and line references
_buildFiles() protected
_buildFiles(\Cake\Console\Arguments $args)
Build the translate template file contents out of obtained strings
Parameters
-
\Cake\Console\Arguments
$args Console arguments
_extract() protected
_extract(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Extract text
Parameters
-
\Cake\Console\Arguments
$args The Arguments instance
-
\Cake\Console\ConsoleIo
$io The io instance
_extractTokens() protected
_extractTokens(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Extract tokens out of all files to be processed
Parameters
-
\Cake\Console\Arguments
$args The io instance
-
\Cake\Console\ConsoleIo
$io The io instance
_formatString() protected
_formatString(string $string)
Format a string to be added as a translatable string
Parameters
-
string
$string String to format
Returns
string
Formatted string
_getPaths() protected
_getPaths(\Cake\Console\ConsoleIo $io)
Method to interact with the user and get path selections.
Parameters
-
\Cake\Console\ConsoleIo
$io The io instance.
_getStrings() protected
_getStrings(int $position, int $target)
Get the strings from the position forward
Parameters
-
int
$position Actual position on tokens array
-
int
$target Number of strings to extract
Returns
array
Strings extracted
_isExtractingApp() protected
_isExtractingApp()
Returns whether this execution is meant to extract string only from directories in folder represented by the APP constant, i.e. this task is extracting strings from same application.
Returns
bool
_isPathUsable() protected
_isPathUsable(mixed $path)
Checks whether or not a given path is usable for writing.
Parameters
-
string
$path Path to folder
Returns
bool
true if it exists and is writable, false otherwise
_markerError() protected
_markerError(mixed $io, string $file, int $line, string $marker, int $count)
Indicate an invalid marker on a processed file
Parameters
-
\Cake\Console\ConsoleIo
$io The io instance.
-
string
$file File where invalid marker resides
-
int
$line Line number
-
string
$marker Marker found
-
int
$count Count
_parse() protected
_parse(\Cake\Console\ConsoleIo $io, string $functionName, array $map)
Parse tokens
Parameters
-
\Cake\Console\ConsoleIo
$io The io instance
-
string
$functionName Function name that indicates translatable string (e.g: '__')
-
array
$map Array containing what variables it will find (e.g: domain, singular, plural)
_searchFiles() protected
_searchFiles()
Search files that may contain translatable strings
_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.
_store() protected
_store(string $domain, string $header, string $sentence)
Prepare a file to be stored
Parameters
-
string
$domain The domain
-
string
$header The header content.
-
string
$sentence The sentence to store.
_writeFiles() protected
_writeFiles(\Cake\Console\Arguments $args, \Cake\Console\ConsoleIo $io)
Write the files that need to be stored
Parameters
-
\Cake\Console\Arguments
$args The command arguments.
-
\Cake\Console\ConsoleIo
$io The console io
_writeHeader() protected
_writeHeader(string $domain)
Build the translation template header
Parameters
-
string
$domain Domain
Returns
string
Translation template header
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)
Gets the option parser instance and configures it.
Parameters
-
\Cake\Console\ConsoleOptionParser
$parser The parser to configure
Returns
\Cake\Console\ConsoleOptionParser
checkUnchanged() protected
checkUnchanged(string $oldFile, int $headerLength, string $newFileContent)
Check whether the old and new output are the same, thus unchanged
Compares the sha1 hashes of the old and new file without header.
Parameters
-
string
$oldFile The existing file.
-
int
$headerLength The length of the file header in bytes.
-
string
$newFileContent The content of the new file.
Returns
bool
Whether or not the old and new file are unchanged.
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
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
$_countMarkerError protected
Count number of marker errors found
Type
int
$_exclude protected
An array of directories to exclude.
Type
string[]
$_extractCore protected
Holds whether this call should extract the CakePHP Lib messages
Type
bool
$_file protected
Current file being processed
Type
string
$_files protected
Files from where to extract
Type
string[]
$_markerError protected
Displays marker error(s) if true
Type
bool
$_merge protected
Merge all domain strings into the default.pot file
Type
bool
$_modelFactories protected
A list of overridden model factory functions.
Type
(callable|\Cake\Datasource\Locator\LocatorInterface)[]
$_modelType protected
The model type to use.
Type
string
$_output protected
Destination path
Type
string
$_paths protected
Paths to use when looking for strings
Type
string[]
$_relativePaths protected
Use relative paths in the pot files rather than full path
Type
bool
$_storage protected
Contains all content waiting to be write
Type
array
$_tableLocator protected
Table locator instance
Type
\Cake\ORM\Locator\LocatorInterface|null
$_tokens protected
Extracted tokens
Type
array
$_translations protected
Extracted strings indexed by domain.
Type
array
$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.I18nExtractCommand.html