Класс yii\i18n\MessageFormatter
| Наследование | yii\i18n\MessageFormatter » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/i18n/MessageFormatter.php |
MessageFormatter позволяет форматировать сообщения с помощью формата сообщений ICU
Этот класс расширяет класс форматирования сообщений, предоставляемый расширением PHP intl.
Предоставляются следующие улучшения:
- Он принимает именованные аргументы и смешанные числовые и именованные аргументы.
- Не выдает ошибку, если предоставлено недостаточное количество аргументов. Вместо этого заполнитель не будет заменен.
- Исправляет странную замену плейсхолдеров в PHP 5.5, если вообще нет аргументов (https://bugs.php.net/bug.php?id=65920).
-
Предлагает ограниченную поддержку форматирования сообщений в случае, если расширение PHP intl не установлено. Однако настоятельно рекомендуется установить расширение PHP intl, если вы хотите использовать возможности MessageFormatter.
Реализация по умолчанию поддерживает следующие форматы сообщений:
- форматирование множественного числа для английского языка ('one' и 'other' селекторы)
- формат выбора
- простые параметры
- параметры целых чисел
Реализация по умолчанию НЕ поддерживает 'подходящий к апострофу' синтаксис. Кроме того, сообщения, работающие с реализацией по умолчанию, необязательно совместимы с PHP intl MessageFormatter, поэтому не полагайтесь на реализацию по умолчанию, если вы можете как-то установить расширение intl.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список прикреплённых к этому компоненту поведений | yii\base\Component |
| $errorCode | string | Код последней ошибки. | yii\i18n\MessageFormatter |
| $errorMessage | string | Описание последней ошибки. | yii\i18n\MessageFormatter |
Публичные методы
| Метод | Описание | Определено |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым этот компонент должен вести себя. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть считано. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Component |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| format() | Форматирует сообщение с помощью формата сообщений ICU | yii\i18n\MessageFormatter |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getErrorCode() | Получить код ошибки из последней операции | yii\i18n\MessageFormatter |
| getErrorMessage() | Получить текст ошибки из последней операции | yii\i18n\MessageFormatter |
| hasEventHandlers() | Возвращает значение, указывающее, существует ли какой-либо обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Открепляет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| parse() | Парсит строку ввода в соответствии с форматом сообщений ICU шаблоном. | yii\i18n\MessageFormatter |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено |
|---|---|---|
| fallbackFormat() | Реализация по умолчанию для MessageFormatter::formatMessage | yii\i18n\MessageFormatter |
Подробности свойств
$errorCode публичное только для чтения свойство
Код последней ошибки.
public string getErrorCode ( )
$errorMessage публичное только для чтения свойство
Описание последней ошибки.
public string getErrorMessage ( )
Подробности методов
fallbackFormat() protected method
Реализация по умолчанию для MessageFormatter::formatMessage
| protected false|string fallbackFormat ( $pattern, $args, $locale ) | ||
|---|---|---|
| $pattern | string |
Строка шаблона, в которую нужно вставить значения. |
| $args | array |
Массив значений для вставки в строку формата. |
| $locale | string |
Локаль для форматирования зависимых от локали частей. |
| return | false|string |
Отформатированная строка шаблона или |
format() public method
Форматирует сообщение с помощью формата сообщений ICU
Использует расширение PHP intl MessageFormatter и обходит некоторые проблемы. Если расширение PHP intl не установлено, используется резервный вариант, поддерживающий подмножество формата сообщений ICU.
| public string|false format ( $pattern, $params, $language ) | ||
|---|---|---|
| $pattern | string |
Строка шаблона для вставки параметров. |
| $params | array |
Массив пар имя-значение для вставки в строку формата. |
| $language | string |
Локаль для форматирования зависимых от локали частей. |
| return | string|false |
Отформатированная строка шаблона или |
getErrorCode() public method
Получить код ошибки последней операции
| public string getErrorCode ( ) | ||
|---|---|---|
| return | string |
Код последней ошибки. |
getErrorMessage() public method
Получить текст ошибки последней операции
| public string getErrorMessage ( ) | ||
|---|---|---|
| return | string |
Описание последней ошибки. |
parse() public method
Разбирает строку-вход согласно шаблону формата сообщений ICU
Использует MessageFormatter::parse() из расширения PHP intl и добавляет поддержку именованных аргументов. Для использования этого метода требуется установленное расширение PHP intl.
| public array|boolean parse ( $pattern, $message, $language ) | ||
|---|---|---|
| $pattern | string |
Шаблон для разбора сообщения. |
| $message | string |
Сообщение для разбора, соответствующее шаблону. |
| $language | string |
Локаль для форматирования зависимых от локали частей. |
| return | array|boolean |
Массив с извлечёнными элементами или |
| throws | yii\base\NotSupportedException |
если расширение PHP intl не установлено. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-i18n-messageformatter.html