On this page
Class I18nExtractCommand
Language string extractor
Constants
-
intCODE_ERROR1Default error code
-
intCODE_SUCCESS0Default success code
Property Summary
-
$_countMarkerError protected
intCount number of marker errors found
-
$_exclude protected
array<string>An array of directories to exclude.
-
$_extractCore protected
boolHolds whether this call should extract the CakePHP Lib messages
-
$_file protected
stringCurrent file being processed
-
$_files protected
array<string>Files from where to extract
-
$_markerError protected
boolDisplays marker error(s) if true
-
$_merge protected
boolMerge all domain strings into the default.pot file
-
$_modelFactories protected
array<callableCake\Datasource\Locator\LocatorInterface>A list of overridden model factory functions.
-
$_modelType protected
stringThe model type to use.
-
$_output protected
stringDestination path
-
$_paths protected
array<string>Paths to use when looking for strings
-
$_storage protected
array<string, mixed>Contains all content waiting to be written
-
$_tableLocator protected
Cake\ORM\Locator\LocatorInterface|nullTable locator instance
-
$_tokens protected
arrayExtracted tokens
-
$_translations protected
array<string, mixed>Extracted strings indexed by domain.
-
$defaultTable protected
string|nullThis object's default table alias.
-
$modelClass protected deprecated
string|nullThis object's primary model class name. Should be a plural form. CakePHP will not inflect the name.
-
$name protected
stringThe name of this command.
Method Summary
__construct() public
Constructor
_addTranslation() protected
Add a translation to the internal translations property
_buildFiles() protected
Build the translate template file contents out of obtained strings
_extract() protected
Extract text
_extractTokens() protected
Extract tokens out of all files to be processed
_formatString() protected
Format a string to be added as a translatable string
_getPaths() protected
Method to interact with the user and get path selections.
_getStrings() protected
Get the strings from the position forward
_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.
_isPathUsable() protected
Checks whether a given path is usable for writing.
_markerError() protected
Indicate an invalid marker on a processed file
_parse() protected
Parse tokens
_searchFiles() protected
Search files that may contain translatable strings
_setModelClass() protected
Set the modelClass property based on conventions.
_store() protected
Prepare a file to be stored
_writeFiles() protected
Write the files that need to be stored
_writeHeader() protected
Build the translation template header
abort() public
Halt the the current process with a StopException.
buildOptionParser() public
Gets the option parser instance and configures it.
checkUnchanged() protected
Check whether the old and new output are the same, thus unchanged
defaultName() public static
Get the command name.
displayHelp() protected
Output help content
execute() public
Execute the command
executeCommand() public
Execute another command with the provided set of arguments.
fetchTable() public
Convenience method to get a table instance.
getDescription() public static
Get the command description.
getModelType() public
Get the model type to be used by this class
getName() public
Get the command name.
getOptionParser() public
Get the option parser.
getRootName() public
Get the root command name.
getTableLocator() public
Gets the table locator.
initialize() public
Hook method invoked by CakePHP when a command is about to be executed.
loadModel() public deprecated
Loads and constructs repository objects required by this object
log() public
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
modelFactory() public
Override a existing callable to generate repositories of a given type.
run() public
Run the command.
setModelType() public
Set the model type to be used by this class
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.
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 = []): void
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
Returns
void_buildFiles() protected
_buildFiles(Cake\Console\Arguments $args): void
Build the translate template file contents out of obtained strings
Parameters
Cake\Console\Arguments$args-
Console arguments
Returns
void_extract() protected
_extract(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Extract text
Parameters
Cake\Console\Arguments$args-
The Arguments instance
Cake\Console\ConsoleIo$io-
The io instance
Returns
void_extractTokens() protected
_extractTokens(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Extract tokens out of all files to be processed
Parameters
Cake\Console\Arguments$args-
The io instance
Cake\Console\ConsoleIo$io-
The io instance
Returns
void_formatString() protected
_formatString(string $string): string
Format a string to be added as a translatable string
Parameters
string$string-
String to format
Returns
string_getPaths() protected
_getPaths(Cake\Console\ConsoleIo $io): void
Method to interact with the user and get path selections.
Parameters
Cake\Console\ConsoleIo$io-
The io instance.
Returns
void_getStrings() protected
_getStrings(int $position, int $target): array
Get the strings from the position forward
Parameters
int$position-
Actual position on tokens array
int$target-
Number of strings to extract
Returns
array_isExtractingApp() protected
_isExtractingApp(): bool
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(string $path): bool
Checks whether a given path is usable for writing.
Parameters
string$path-
Path to folder
Returns
bool_markerError() protected
_markerError(Cake\Console\ConsoleIo $io, string $file, int $line, string $marker, int $count): void
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
Returns
void_parse() protected
_parse(Cake\Console\ConsoleIo $io, string $functionName, array $map): void
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)
Returns
void_searchFiles() protected
_searchFiles(): void
Search files that may contain translatable strings
Returns
void_setModelClass() protected
_setModelClass(string $name): void
Set the modelClass property based on conventions.
If the property is already set it will not be overwritten
Parameters
string$name-
Class name.
Returns
void_store() protected
_store(string $domain, string $header, string $sentence): void
Prepare a file to be stored
Parameters
string$domain-
The domain
string$header-
The header content.
string$sentence-
The sentence to store.
Returns
void_writeFiles() protected
_writeFiles(Cake\Console\Arguments $args, Cake\Console\ConsoleIo $io): void
Write the files that need to be stored
Parameters
Cake\Console\Arguments$args-
The command arguments.
Cake\Console\ConsoleIo$io-
The console io
Returns
void_writeHeader() protected
_writeHeader(string $domain): string
Build the translation template header
Parameters
string$domain-
Domain
Returns
stringabort() public
abort(int $code = self::CODE_ERROR): void
Halt the the current process with a StopException.
Parameters
int$code optional-
The exit code to use.
Returns
voidThrows
Cake\Console\Exception\StopExceptionbuildOptionParser() 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 configure
Returns
Cake\Console\ConsoleOptionParsercheckUnchanged() protected
checkUnchanged(string $oldFile, int $headerLength, string $newFileContent): bool
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
booldefaultName() 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 the default name returned would be 'update_table'.
Returns
stringdisplayHelp() 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|nullexecuteCommand() 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|nullfetchTable() public
fetchTable(string|null $alias = null, array<string, mixed> $options = []): Cake\ORM\Table
Convenience method to get a table instance.
Parameters
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
Cake\ORM\TableThrows
Cake\Core\Exception\CakeExceptionIf `$alias` argument and `$defaultTable` property both are `null`.
See Also
getDescription() public static
getDescription(): string
Get the command description.
Returns
stringgetModelType() public
getModelType(): string
Get the model type to be used by this class
Returns
stringgetName() public
getName(): string
Get the command name.
Returns
stringgetOptionParser() public
getOptionParser(): Cake\Console\ConsoleOptionParser
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
Cake\Console\ConsoleOptionParserThrows
RuntimeExceptionWhen the parser is invalid
getRootName() public
getRootName(): string
Get the root command name.
Returns
stringgetTableLocator() public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Gets the table locator.
Returns
Cake\ORM\Locator\LocatorInterfaceinitialize() public
initialize(): void
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.
Returns
voidloadModel() public
loadModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface
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\RepositoryInterfaceThrows
Cake\Datasource\Exception\MissingModelExceptionIf the model class cannot be found.
UnexpectedValueExceptionIf $modelClass argument is not provided and ModelAwareTrait::$modelClass property value is empty.
log() public
log(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
string$message-
Log message.
string|int$level optional-
Error level.
array|string$context optional-
Additional log data relevant to this message.
Returns
boolmodelFactory() public
modelFactory(string $type, Cake\Datasource\Locator\LocatorInterface|callable $factory): void
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.
Cake\Datasource\Locator\LocatorInterface|callable$factory-
The factory function used to create instances.
Returns
voidrun() public
run(array $argv, Cake\Console\ConsoleIo $io): int|null
Run the command.
Parameters
array$argvCake\Console\ConsoleIo$io
Returns
int|nullsetModelType() public
setModelType(string $modelType): $this
Set the model type to be used by this class
Parameters
string$modelType-
The model type
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
$thisProperty Detail
$_countMarkerError protected
Count number of marker errors found
Type
int$_exclude protected
An array of directories to exclude.
Type
array<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
array<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
array<callableCake\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
array<string>$_storage protected
Contains all content waiting to be written
Type
array<string, mixed>$_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<string, mixed>$defaultTable protected
This object's default table alias.
Type
string|null$modelClass protected deprecated
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.4/class-Cake.Command.I18nExtractCommand.html