CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Reporting Security Issues
    • Privacy Policy
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Get Involved
    • Issues (Github)
    • Bakery
    • Featured Resources
    • Training
    • Meetups
    • My CakePHP
    • CakeFest
    • Newsletter
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 4.6 Strawberry API

  • Project:
    • CakePHP
      • CakePHP
      • Authentication
      • Authorization
      • Chronos
      • Elastic Search
      • Queue
  • Version:
    • 4.6
      • 5.2
      • 5.1
      • 5.0
      • 4.6
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Global
  • Cake
    • Auth
    • Cache
    • Collection
    • Command
    • Console
    • Controller
    • Core
    • Database
    • Datasource
    • Error
    • Event
    • Filesystem
    • Form
    • Http
    • I18n
    • Log
    • Mailer
    • Network
    • ORM
    • Routing
    • Shell
    • TestSuite
    • Utility
    • Validation
    • View

Class I18nExtractCommand

Language string extractor

Namespace: Cake\Command

Constants

  • int
    CODE_ERROR ¶
    1

    Default error code

  • int
    CODE_SUCCESS ¶
    0

    Default success code

Property Summary

  • $_countMarkerError protected
    int

    Count number of marker errors found

  • $_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

  • $_modelFactories protected
    array<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
    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.

  • $modelClass protected
    string|null

    This object's primary model class name. Should be a plural form. CakePHP will not inflect the name.

  • $name protected
    string

    The 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 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.

  • fetchModel() public

    Fetch or construct a model instance from a locator.

  • 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

    Fetch or construct a model and set it to a property on 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
string

abort() ¶ public

abort(int $code = self::CODE_ERROR): void

Halt the current process with a StopException.

Parameters
int $code optional

The exit code to use.

Returns
void
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

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

fetchModel() ¶ public

fetchModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

Fetch or construct a model instance from a locator.

Uses a modelFactory based on $modelType to fetch and construct a RepositoryInterface and return it. The default modelType can be defined with setModelType().

Unlike loadModel() this method will not set an object property.

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 like App\Model\Table\PostsTable::class.

string|null $modelType optional

The type of repository to load. Defaults to the getModelType() value.

Returns
Cake\Datasource\RepositoryInterface
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.

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
\Cake\ORM\TableLocator::get()

getDescription() ¶ public static

getDescription(): string

Get the command description.

Returns
string

getModelType() ¶ public

getModelType(): string

Get the model type to be used by this class

Returns
string

getName() ¶ public

getName(): string

Get the command name.

Returns
string

getOptionParser() ¶ public

getOptionParser(): Cake\Console\ConsoleOptionParser

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(): string

Get the root command name.

Returns
string

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

loadModel() ¶ public

loadModel(string|null $modelClass = null, string|null $modelType = null): Cake\Datasource\RepositoryInterface

Fetch or construct a model and set it to a property on this object.

Uses a modelFactory based on $modelType to fetch and construct a RepositoryInterface and set it as a property on the current object. The default modelType can be defined with setModelType().

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 like App\Model\Table\PostsTable::class.

string|null $modelType optional

The type of repository to load. Defaults to the getModelType() value.

Returns
Cake\Datasource\RepositoryInterface
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, 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
bool

modelFactory() ¶ 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
void

run() ¶ public

run(array $argv, Cake\Console\ConsoleIo $io): int|null

Run the command.

Parameters
array $argv
Cake\Console\ConsoleIo $io
Returns
int|null

setModelType() ¶ public

setModelType(string $modelType): $this

Set the model type to be used by this class

Parameters
string $modelType

The model type

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

$_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<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
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

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
OpenHub
Pingping
Linode
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Reporting Security Issues
  • Privacy Policy
  • Logos & Trademarks
  • Community
  • Get Involved
  • Issues (Github)
  • Bakery
  • Featured Resources
  • Training
  • Meetups
  • My CakePHP
  • CakeFest
  • Newsletter
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs