Abstract Class lajax\projectscanner\scanners\FileScannerAbstract

Inheritancelajax\projectscanner\scanners\FileScannerAbstract » yii\base\Object
Subclasseslajax\projectscanner\scanners\JsScanner, lajax\projectscanner\scanners\PhpArrayScanner, lajax\projectscanner\scanners\PhpFunctionScanner
Available since version1.0

Class for processing PHP and JavaScript files.

Language elements detected in JavaScript files:

lajax.t('language element');
lajax.t('language element {replace}', {replace:'String'});
lajax.t('language element');
lajax.t('language element {replace}', {replace:'String'});

Language elements detected in PHP files: "t" functions:

::t('category of language element', 'language element');
::t('category of language element', 'language element {replace}', ['replace' => 'String']);
::t('category of language element', 'language element');
::t('category of language element', 'language element {replace}', ['replace' => 'String']);

Language elements detected in constant arrays:

 /**
  * @translate
  */
 private $_GENDERS = ['Male', 'Female'];
 /**
  * @translate
  */
  private $_STATUSES = [
     self::STATUS_ACTIVE => 'Active',
     self::STATUS_INACTIVE => 'Inactive'
  ];

Translation of constant arrays: Translation to site language:

$genders = \lajax\translatemanager\helpers\Language::a($this->_GENDERS);

Translating to the language of your coice:

$statuses = \lajax\translatemanager\helpers\Language::a($this->_STATUSES, [], 'de-DE');

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$extension string Extension of PHP files. lajax\projectscanner\scanners\FileScannerAbstract
$scanner lajax\projectscanner\Scanner Object containing the detected language elements lajax\projectscanner\scanners\FileScannerAbstract

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
$files array Array to store paths to project files. lajax\projectscanner\scanners\FileScannerAbstract

Public Methods

Hide inherited methods

MethodDescriptionDefined By
execute() Executes the scanning statement. lajax\projectscanner\scanners\FileScannerAbstract
scanProject() Scanning project filesistem. lajax\projectscanner\scanners\FileScannerAbstract

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
checkTokens() lajax\projectscanner\scanners\FileScannerAbstract
containsTranslator() Determines whether the file has any of the translators. lajax\projectscanner\scanners\FileScannerAbstract
extractMessages() Extracts messages from a file lajax\projectscanner\scanners\FileScannerAbstract
getLanguageItem() Returns language elements in the token buffer. lajax\projectscanner\scanners\FileScannerAbstract
isValidCategory() Determines whether the category received as a parameter can be processed. lajax\projectscanner\scanners\FileScannerAbstract
tokensEqual() Finds out if two PHP tokens are equal lajax\projectscanner\scanners\FileScannerAbstract

Property Details

$extension public property

Extension of PHP files.

public string $extension '*.php'
$files protected static property

Array to store paths to project files.

protected static array $files = ['*.php' => [], '*.js' => []]
$scanner public property

Object containing the detected language elements

Method Details

checkTokens() protected method

protected void checkTokens ( $options, $translatorTokens, $tokens )
$options

Definition of the parameters required to identify language elements.

$translatorTokens

Translation identification

$tokens

Tokens to search through

containsTranslator() protected method

Determines whether the file has any of the translators.

protected bool containsTranslator ( $translators, $file )
$translators string[]

Array of translator patterns to search (for example: ['::t']).

$file string

Path of the file.

execute() public method

Executes the scanning statement.

public void execute ( )
extractMessages() protected method

Extracts messages from a file

protected void extractMessages ( $fileName, $options )
$fileName string

Name of the file to extract messages from

$options array

Definition of the parameters required to identify language elements. example:

[
     'translator' => ['Yii::t', 'Lx::t'],
     'begin' => '(',
     'end' => ')'
]
getLanguageItem() protected abstract method

Returns language elements in the token buffer.

If there is no recognisable language element in the array, returns null.

protected abstract void getLanguageItem ( $buffer )
$buffer
isValidCategory() protected method

Determines whether the category received as a parameter can be processed.

protected boolean isValidCategory ( $category )
$category string
scanProject() public method

Scanning project filesistem.

public void scanProject ( )
tokensEqual() protected method (available since version 2.0.1)

Finds out if two PHP tokens are equal

protected boolean tokensEqual ( $a, $b )
$a array|string
$b array|string