Class I18nExtractCommand
Language string extractor
Property Summary
-
$_countMarkerError protected
int
Count number of marker errors found
-
$_eventClass protected
string
Default class name for new event objects.
-
$_eventManager protected
Cake\Event\EventManagerInterface|null
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
-
$_exclude protected
array<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
array<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
-
$_output protected
string
Destination 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|null
Table locator instance
-
$_tokens protected
array
Extracted tokens
-
$_translations protected
array<string, mixed>
Extracted strings indexed by domain.
-
$defaultTable protected
string|null
This object's default table alias.
-
$name protected
string
The name of this command.
Method Summary
-
_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
-
_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 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.
-
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.
-
fetchTable() public
Convenience method to get a table instance.
-
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.
-
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.
-
log() public
Convenience method to write a message to Log. See Log::write() for more information on writing to logs.
-
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.
Method Detail
_addTranslation() ¶ protected
_addTranslation(string $domain, string $msgid, array<string, mixed> $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<string, mixed>
$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
_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
string
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
never
Throws
Cake\Console\Exception\StopException
buildOptionParser() ¶ 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\ConsoleOptionParser
checkUnchanged() ¶ 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
bool
defaultName() ¶ 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
string
dispatchEvent() ¶ 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
void
execute() ¶ 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|null
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|null
fetchTable() ¶ 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
null
then 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\Table
Throws
Cake\Core\Exception\CakeException
If `$alias` argument and `$defaultTable` property both are `null`.
See Also
getDescription() ¶ public static
getDescription(): string
Get the command description.
Returns
string
getEventManager() ¶ 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\EventManagerInterface
getOptionParser() ¶ public
getOptionParser(): Cake\Console\ConsoleOptionParser
Get the option parser.
You can override buildOptionParser() to define your options & arguments.
Returns
Cake\Console\ConsoleOptionParser
Throws
Cake\Core\Exception\CakeException
When the parser is invalid
getTableLocator() ¶ public
getTableLocator(): Cake\ORM\Locator\LocatorInterface
Gets the table locator.
Returns
Cake\ORM\Locator\LocatorInterface
initialize() ¶ 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
void
log() ¶ 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
bool
run() ¶ public
run(array $argv, Cake\Console\ConsoleIo $io): int|null
Run the command.
Parameters
-
array
$argv -
Cake\Console\ConsoleIo
$io
Returns
int|null
setEventManager() ¶ 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
$this
setName() ¶ 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
$this
setOutputLevel() ¶ 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
void
setTableLocator() ¶ public
setTableLocator(Cake\ORM\Locator\LocatorInterface $tableLocator): $this
Sets the table locator.
Parameters
-
Cake\ORM\Locator\LocatorInterface
$tableLocator LocatorInterface instance.
Returns
$this
Property Detail
$_eventManager ¶ protected
Instance of the Cake\Event\EventManager this object is using to dispatch inner events.
Type
Cake\Event\EventManagerInterface|null