Класс yii\console\controllers\MessageController
| Наследование | yii\console\controllers\MessageController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/MessageController.php |
Извлекает сообщения для перевода из исходных файлов.
Извлеченные сообщения можно сохранить в зависимости от настроек format в файле конфигурации:
- PHP файлы источников сообщений.
- Файлы ".po".
- База данных.
Использование:
- Создайте файл конфигурации, используя команду 'message/config': yii message/config /path/to/myapp/messages/config.php
- Отредактируйте созданный файл конфигурации, настроив его для потребностей вашего веб-приложения.
- Запустите команду 'message/extract', используя созданный файл конфигурации: yii message /path/to/myapp/messages/config.php
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $action | yii\base\Action | Действие, которое в настоящее время выполняется. | yii\base\Controller |
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений. | yii\base\Component |
| $catalog | строка | Имя файла, который будет использоваться для переводов в формате "po". | yii\console\controllers\MessageController |
| $color | логическое | Включить ANSI цвет в выводе. | yii\console\Controller |
| $db | строка | Идентификатор компонента подключения для формата "db". | yii\console\controllers\MessageController |
| $defaultAction | строка | Идентификатор действия по умолчанию контроллера. | yii\console\controllers\MessageController |
| $except | массив | Список шаблонов, указывающих, какие файлы/каталоги НЕ должны обрабатываться. | yii\console\controllers\MessageController |
| $format | строка | Формат генерируемого файла. | yii\console\controllers\MessageController |
| $help | логическое | Отображать ли справку о текущей команде. | yii\console\Controller |
| $helpSummary | строка | yii\console\Controller | |
| $id | строка | Идентификатор этого контроллера. | yii\base\Controller |
| $ignoreCategories | массив | Категории сообщений, которые следует игнорировать. | yii\console\controllers\MessageController |
| $interactive | логическое | Выполнять команду интерактивно. | yii\console\Controller |
| $languages | массив | Требуемый список кодов языков, на которые должны быть переведены извлеченные сообщения. | yii\console\controllers\MessageController |
| $layout | null|строка|false | Имя шаблона, применяемого к представлениям данного контроллера. | yii\base\Controller |
| $markUnused | логическое | Отметить сообщения, которые больше не появляются в исходном коде. | yii\console\controllers\MessageController |
| $messagePath | строка | Требуемый корневой каталог, содержащий переводы сообщений. | yii\console\controllers\MessageController |
| $messageTable | строка | Пользовательское имя таблицы сообщений для формата "db". | yii\console\controllers\MessageController |
| $module | yii\base\Module | Модуль, к которому принадлежит этот контроллер. | yii\base\Controller |
| $modules | yii\base\Module[] | Все родительские модули, в которых находится этот контроллер. | yii\base\Controller |
| $only | массив | Список шаблонов, указывающих, какие файлы (не каталоги) должны обрабатываться. | yii\console\controllers\MessageController |
| $overwrite | логическое | Перезаписывать ли файл сообщений объединенными сообщениями. | yii\console\controllers\MessageController |
| $passedOptionValues | массив | Свойства, соответствующие переданным параметрам. | yii\console\Controller |
| $passedOptions | массив | Имена параметров, переданных во время выполнения. | yii\console\Controller |
| $removeUnused | логическое | Удалить сообщения, которые больше не появляются в исходном коде. | yii\console\controllers\MessageController |
| $route | строка | Маршрут (идентификатор модуля, контроллера и действия) текущего запроса. | yii\base\Controller |
| $sort | логическое | Сортировать ли сообщения по ключам при объединении новых сообщений с существующими. | yii\console\controllers\MessageController |
| $sourceMessageTable | строка | Пользовательское имя таблицы исходных сообщений для формата "db". | yii\console\controllers\MessageController |
| $sourcePath | строка | Требуемый корневой каталог всех исходных файлов. | yii\console\controllers\MessageController |
| $translator | строка | Имя функции для перевода сообщений. | yii\console\controllers\MessageController |
| $uniqueId | строка | Идентификатор контроллера, который предваряется идентификатором модуля (если таковой имеется). | yii\base\Controller |
| $view | yii\base\View|yii\web\View | Объект представления, который может использоваться для рендеринга представлений или файлов представлений. | yii\base\Controller |
| $viewPath | строка | Директория, содержащая файлы представлений для этого контроллера. | yii\base\Controller |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | yii\base\Controller | |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| actionConfig() | Создает файл конфигурации для команды "extract" с использованием параметров командной строки. | yii\console\controllers\MessageController |
| actionConfigTemplate() | Создает шаблон файла конфигурации для команды "extract". | yii\console\controllers\MessageController |
| actionExtract() | Извлекает сообщения, которые необходимо перевести, из исходного кода. | yii\console\controllers\MessageController |
| actions() | Объявляет внешние действия для контроллера. | yii\base\Controller |
| afterAction() | Этот метод вызывается сразу после выполнения действия. | yii\base\Controller |
| ansiFormat() | Форматирует строку с кодами ANSI. | yii\console\Controller |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeAction() | Этот метод вызывается непосредственно перед выполнением действия. | yii\base\Controller |
| behaviors() | Возвращает список поведений, которые должен демонстрировать этот компонент. | yii\base\Component |
| bindActionParams() | Привязывает параметры к действию. | yii\console\Controller |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| confirm() | Запрашивает у пользователя подтверждение, введя y или n. | yii\console\Controller |
| createAction() | Создает действие на основе заданного идентификатора действия. | yii\base\Controller |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| findLayoutFile() | Находит соответствующий файл макета. | yii\base\Controller |
| getActionArgsHelp() | Возвращает справочную информацию для анонимных аргументов действия. | yii\console\Controller |
| getActionHelp() | Возвращает подробную справочную информацию для указанного действия. | yii\console\Controller |
| getActionHelpSummary() | Возвращает краткое описание (одной строкой) указанного действия. | yii\console\Controller |
| getActionOptionsHelp() | Возвращает справочную информацию для параметров действия. | yii\console\Controller |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getHelp() | Возвращает справочную информацию для этого контроллера. | yii\console\Controller |
| getHelpSummary() | Возвращает краткое описание (одной строкой) этого контроллера. | yii\console\Controller |
| getModules() | Возвращает все родительские модули этого контроллера. | yii\base\Controller |
| getOptionValues() | Возвращает свойства, соответствующие параметрам для идентификатора действия. Подклассы могут переопределить этот метод, чтобы указать возможные свойства. | yii\console\Controller |
| getPassedOptionValues() | Возвращает свойства, соответствующие переданным параметрам. | yii\console\Controller |
| getPassedOptions() | Возвращает имена допустимых параметров, переданных во время выполнения. | yii\console\Controller |
| getRoute() | Возвращает маршрут текущего запроса. | yii\base\Controller |
| getUniqueId() | Возвращает уникальный идентификатор контроллера. | yii\base\Controller |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представления. | yii\base\Controller |
| getViewPath() | Возвращает каталог, содержащий файлы представлений для этого контроллера. | yii\base\Controller |
| hasEventHandlers() | Возвращает значение, указывающее, присоединен ли какой-либо обработчик к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isColorEnabled() | Возвращает значение, указывающее, включен ли цвет ANSI. | yii\console\Controller |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик события к событию. | yii\base\Component |
| optionAliases() | Возвращает псевдонимы параметров. | yii\console\controllers\MessageController |
| options() | Возвращает имена допустимых параметров для действия (id). Параметр требует существования открытой переменной-члена, имя которой соответствует имени параметра. | yii\console\controllers\MessageController |
| prompt() | Запрашивает у пользователя ввод и проверяет его | yii\console\Controller |
| render() | Отображает представление и применяет макет, если он доступен. | yii\base\Controller |
| renderContent() | Отображает статическую строку, применяя макет. | yii\base\Controller |
| renderFile() | Отображает файл представления. | yii\base\Controller |
| renderPartial() | Отображает представление без применения макета. | yii\base\Controller |
| run() | Выполняет запрос, указанный в терминах маршрута. | yii\base\Controller |
| runAction() | Выполняет действие с указанным идентификатором действия и параметрами. | yii\console\Controller |
| select() | Предоставляет пользователю возможность выбора из списка. Ввод '?' отобразит список вариантов выбора и их описания. | yii\console\Controller |
| setView() | Устанавливает объект представления, который будет использоваться этим контроллером. | yii\base\Controller |
| setViewPath() | Устанавливает директорию, содержащую файлы представления. | yii\base\Controller |
| stderr() | Выводит строку в STDERR | yii\console\Controller |
| stdout() | Выводит строку в STDOUT | yii\console\Controller |
| trigger() | Вызывает событие. | yii\base\Component |
Protected Methods
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_ACTION | yii\base\ActionEvent | Событие, поднимаемое сразу после выполнения действия контроллера. | yii\base\Controller |
| EVENT_BEFORE_ACTION | yii\base\ActionEvent | Событие, поднимаемое непосредственно перед выполнением действия контроллера. | yii\base\Controller |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| EXIT_CODE_ERROR | 1 | yii\console\Controller | |
| EXIT_CODE_NORMAL | 0 | yii\console\Controller |
Подробности свойств
$catalog общедоступное свойство
Имя файла, который будет использоваться для переводов в формате "po".
public string $catalog = 'messages'
$db общедоступное свойство
Идентификатор компонента подключения для формата "db".
public string $db = 'db'
$defaultAction общедоступное свойство
Идентификатор действия по умолчанию контроллера.
public string $defaultAction = 'extract'
$except общедоступное свойство
Список шаблонов, определяющих, какие файлы/каталоги НЕ должны обрабатываться. Если пусто или не задано, будут обработаны все файлы/каталоги. См. описание helpers/FileHelper::findFiles() для правил сопоставления шаблонов. Если файл/каталог соответствует и шаблону в "only", и шаблону в "except", он НЕ будет обработан.
public array $except = ['.svn', '.git', '.gitignore', '.gitkeep', '.hgignore', '.hgkeep', '/messages', '/BaseYii.php']
$format общедоступное свойство
Формат генерируемого файла. Может быть "php", "db", "po" или "pot".
public string $format = 'php'
$ignoreCategories общедоступное свойство
Категории сообщений для игнорирования. Например, 'yii', 'app*', 'widgets/menu' и т.д.
См. также isCategoryIgnored().
public array $ignoreCategories = []
$languages общедоступное свойство
Обязательный список кодов языков, на которые должны быть переведены извлеченные сообщения. Например, ['zh-CN', 'de'].
public array $languages = []
$markUnused общедоступное свойство
Нужно ли помечать сообщения, которые больше не появляются в исходном коде. По умолчанию true, что означает, что каждое из этих сообщений будет заключено в пару '@@'.
public boolean $markUnused = true
$messagePath общедоступное свойство
Обязательный корневой каталог, содержащий переводы сообщений.
public string $messagePath = '@yii/messages'
$messageTable общедоступное свойство
Настраиваемое имя таблицы сообщений для формата "db".
public string $messageTable = '{{%message}}'
$only открытая переменная
Список шаблонов, определяющих, какие файлы (а не директории) должны быть обработаны. Если пусто или не задано, будут обработаны все файлы. См. описание helpers/FileHelper::findFiles() для правил сопоставления шаблонов. Если файл/директория соответствует шаблону в "only" и "except", он НЕ будет обработан.
public array $only = ['*.php']
$overwrite открытая переменная
Нужно ли перезаписать файл сообщений объединёнными сообщениями
public boolean $overwrite = true
$removeUnused открытая переменная
Нужно ли удалить сообщения, которые больше не появляются в исходном коде. По умолчанию false, что означает, что эти сообщения НЕ будут удалены.
public boolean $removeUnused = false
$sort открытая переменная
Нужно ли сортировать сообщения по ключам при объединении новых сообщений со старыми. По умолчанию false, что означает, что новые (непереведённые) сообщения будут отделены от старых (переведённых).
public boolean $sort = false
$sourceMessageTable открытая переменная
Настраиваемое имя таблицы исходных сообщений для формата "db".
public string $sourceMessageTable = '{{%source_message}}'
$sourcePath открытая переменная
Обязательное, корневой каталог всех исходных файлов.
public string $sourcePath = '@yii'
$translator открытая переменная
Имя функции для перевода сообщений. По умолчанию 'Yii::t'. Используется для поиска сообщений, подлежащих переводу. Можно использовать строку для единственного имени функции или массив для нескольких имён функций.
public string $translator = 'Yii::t'
Подробное описание методов
actionConfig() public method
Создаёт файл конфигурации для команды "extract" с использованием командной строки опций
Сгенерированный файл конфигурации содержит параметры, необходимые для извлечения сообщений из исходного кода. Вы можете использовать этот файл конфигурации с командой "extract".
| public integer actionConfig ( $filePath ) | ||
|---|---|---|
| $filePath | string |
Имя выходного файла или псевдоним. |
| return | integer |
Код завершения CLI |
| throws | yii\console\Exception |
при ошибке. |
actionConfigTemplate() public method
Создаёт шаблон файла конфигурации для команды "extract".
Созданный файл конфигурации содержит подробные инструкции по его настройке для ваших потребностей. После настройки вы можете использовать этот файл конфигурации с командой "extract".
| public integer actionConfigTemplate ( $filePath ) | ||
|---|---|---|
| $filePath | string |
Имя выходного файла или псевдоним. |
| return | integer |
Код завершения CLI |
| throws | yii\console\Exception |
при ошибке. |
actionExtract() public method
Извлекает сообщения, подлежащие переводу, из исходного кода.
Эта команда будет искать файлы исходного кода и извлекать сообщения, которые необходимо перевести на разные языки.
| public void actionExtract ( $configFile = null ) | ||
|---|---|---|
| $configFile | string |
Путь или псевдоним файла конфигурации. Вы можете использовать команду "yii message/config" для генерации этого файла, а затем настроить его для ваших потребностей. |
| throws | yii\console\Exception |
при ошибке. |
extractMessages() protected method
Извлекает сообщения из файла
| protected array extractMessages ( $fileName, $translator, $ignoreCategories = [] ) | ||
|---|---|---|
| $fileName | string |
Имя файла, из которого извлекаются сообщения |
| $translator | string |
Имя функции, используемой для перевода сообщений |
| $ignoreCategories | array |
Категории сообщений для игнорирования. Этот параметр доступен с версии 2.0.4. |
extractMessagesFromTokens() protected method
Извлекает сообщения из списка обработанных токенов PHP.
| protected array extractMessagesFromTokens ( array $tokens, array $translatorTokens, array $ignoreCategories ) | ||
|---|---|---|
| $tokens | array |
Обрабатываемые токены. |
| $translatorTokens | array |
Токены переводчика. |
| $ignoreCategories | array |
Категории сообщений для игнорирования. |
| return | array |
Сообщения. |
getLine() protected method (доступно с версии 2.0.1)
Определяет строку первого не-символьного токена PHP
| protected integer|string getLine ( $tokens ) | ||
|---|---|---|
| $tokens | array | |
isCategoryIgnored() protected method (доступно с версии 2.0.7)
Метод проверяет, игнорируется ли $category в соответствии с массивом $ignoreCategories.
Примеры:
-
myapp- будет проигнорирован только в категорииmyapp; -
myapp*- будет проигнорирован всеми категориями, начинающимися сmyapp(myapp,myapplication,myapprove,myapp/widgets,myapp.widgets, и т. д.).
| protected boolean isCategoryIgnored ( $category, array $ignoreCategories ) | ||
|---|---|---|
| $category | string |
Проверяемая категория |
| $ignoreCategories | array |
Категории сообщений для игнорирования. |
optionAliases() public method (доступно с версии 2.0.8)
Возвращает псевдонимы опций.
Подклассы могут переопределить этот метод для указания псевдонимов опций.
| public array optionAliases ( ) | ||
|---|---|---|
| return | array |
Псевдонимы опций, допустимые для действия, где ключом является псевдоним опции, а значением — имя опции. |
options() public method
Возвращает имена допустимых опций для действия (id). Опция требует наличия публичного члена переменной с именем, совпадающим с именем опции.
Подклассы могут переопределить этот метод для указания возможных опций.
Обратите внимание, что значения, установленные с помощью опций, недоступны до вызова beforeAction().
| public string[] options ( $actionID ) | ||
|---|---|---|
| $actionID | string |
Идентификатор действия текущего запроса |
| return | string[] |
Имена опций, допустимых для действия |
saveMessagesCategoryToPHP() protected method
Сохраняет сообщения категории в файл PHP
| protected integer saveMessagesCategoryToPHP ( $messages, $fileName, $overwrite, $removeUnused, $sort, $category, $markUnused ) | ||
|---|---|---|
| $messages | array | |
| $fileName | string |
Имя файла для записи |
| $overwrite | boolean |
Если существующий файл должен быть перезаписан без резервной копии |
| $removeUnused | boolean |
Если устаревшие переводы должны быть удалены |
| $sort | boolean |
Если переводы должны быть отсортированы |
| $category | string |
Категория сообщений |
| $markUnused | boolean |
Если устаревшие переводы должны быть помечены |
| return | integer |
Код завершения |
saveMessagesToDb() protected method
Сохраняет сообщения в базе данных
| protected void saveMessagesToDb ( $messages, $db, $sourceMessageTable, $messageTable, $removeUnused, $languages, $markUnused ) | ||
|---|---|---|
| $messages | array | |
| $db | yii\db\Connection | |
| $sourceMessageTable | string | |
| $messageTable | string | |
| $removeUnused | boolean | |
| $languages | array | |
| $markUnused | boolean | |
saveMessagesToPHP() защищённый метод
Запись сообщений в файлы PHP
| protected void saveMessagesToPHP ( $messages, $dirName, $overwrite, $removeUnused, $sort, $markUnused ) | ||
|---|---|---|
| $messages | массив | |
| $dirName | строка |
Имя каталога для записи |
| $overwrite | булево |
Если существующий файл должен быть перезаписан без резервной копии |
| $removeUnused | булево |
Если устаревшие переводы должны быть удалены |
| $sort | булево |
Если переводы должны быть отсортированы |
| $markUnused | булево |
Если устаревшие переводы должны быть помечены |
saveMessagesToPO() защищённый метод
Запись сообщений в файл PO
| protected void saveMessagesToPO ( $messages, $dirName, $overwrite, $removeUnused, $sort, $catalog, $markUnused ) | ||
|---|---|---|
| $messages | массив | |
| $dirName | строка |
Имя каталога для записи |
| $overwrite | булево |
Если существующий файл должен быть перезаписан без резервной копии |
| $removeUnused | булево |
Если устаревшие переводы должны быть удалены |
| $sort | булево |
Если переводы должны быть отсортированы |
| $catalog | строка |
Каталог сообщений |
| $markUnused | булево |
Если устаревшие переводы должны быть помечены |
saveMessagesToPOT() защищённый метод (доступен начиная с версии 2.0.6)
Запись сообщений в файл POT
| protected void saveMessagesToPOT ( $messages, $dirName, $catalog ) | ||
|---|---|---|
| $messages | массив | |
| $dirName | строка |
Имя каталога для записи |
| $catalog | строка |
Каталог сообщений |
tokensEqual() защищённый метод (доступен начиная с версии 2.0.1)
Определяет, равны ли два токена PHP
| protected булево tokensEqual ( $a, $b ) | ||
|---|---|---|
| $a | массив|строка | |
| $b | массив|строка | |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-console-controllers-messagecontroller.html