Класс yii\i18n\Formatter
| Наследование | yii\i18n\Formatter » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/i18n/Formatter.php |
Formatter предоставляет набор часто используемых методов форматирования данных.
Методы форматирования, предоставляемые Formatter, все имеют имя в формате asXyz(). Поведение некоторых из них можно настроить с помощью свойств Formatter. Например, настроив $dateFormat, можно управлять тем, как asDate() форматирует значение в строку даты.
Formatter настраивается как компонент приложения в yii\base\Application по умолчанию. Вы можете получить доступ к этому экземпляру через Yii::$app->formatter.
Класс Formatter разработан для форматирования значений в соответствии с $locale. Для работы этой функции необходимо установить расширение PHP intl. Большинство методов, однако, работают и без расширения PHP intl, предоставляя резервную реализацию. Без расширения intl названия месяцев и дней недели будут только на английском языке. Обратите внимание, что даже если расширение intl установлено, форматирование значений даты и времени для лет ≥2038 или ≤1901 в 32-битных системах будет переходить на PHP-реализацию, так как intl использует 32-битный UNIX-таймстапм внутри. В 64-битной системе форматировщик intl используется во всех случаях, если он установлен.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $booleanFormat | array | Текст, отображаемый при форматировании булевого значения. | yii\i18n\Formatter |
| $calendar | IntlCalendar|integer|null | Календарь, используемый для форматирования даты. | yii\i18n\Formatter |
| $currencyCode | string | Трехбуквенный код ISO 4217 валюты, указывающий по умолчанию валюту для asCurrency(). | yii\i18n\Formatter |
| $dateFormat | string | Строка формата по умолчанию, используемая для форматирования даты. | yii\i18n\Formatter |
| $datetimeFormat | string | Строка формата по умолчанию, используемая для форматирования даты и времени. | yii\i18n\Formatter |
| $decimalSeparator | string | Символ, отображаемый в качестве десятичной точки при форматировании числа. | yii\i18n\Formatter |
| $defaultTimeZone | string | Часовой пояс, предполагаемый для входных значений, если они явно не включают часовой пояс. | yii\i18n\Formatter |
| $locale | string | Идентификатор языка, используемый для локализации форматирования даты и числа. | yii\i18n\Formatter |
| $nullDisplay | string | Текст, отображаемый при форматировании значения null. | yii\i18n\Formatter |
| $numberFormatterOptions | array | Список пар имя-значение, передаваемых в intl [NumberFormatter::setAttribute()](http://php. | yii\i18n\Formatter |
| $numberFormatterSymbols | array | Список пар имя-значение, передаваемых в intl [NumberFormatter::setSymbol()](http://php. | yii\i18n\Formatter |
| $numberFormatterTextOptions | array | Список пар имя-значение, передаваемых в intl [NumberFormatter::setTextAttribute()](http://php. | yii\i18n\Formatter |
| $sizeFormatBase | integer | База, по которой вычисляется килобайт (1000 или 1024 байта на килобайт), используется методами asSize() и asShortSize(). | yii\i18n\Formatter |
| $thousandSeparator | string | Символ, отображаемый в качестве разделителя тысяч (также называемого разделителем групп) при форматировании числа. | yii\i18n\Formatter |
| $timeFormat | string | Строка формата по умолчанию, используемая для форматирования времени. | yii\i18n\Formatter |
| $timeZone | string | Часовой пояс, используемый для форматирования значений времени и даты. | yii\i18n\Formatter |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| asBoolean() | Форматирует значение как булево. | yii\i18n\Formatter |
| asCurrency() | Форматирует значение как число в формате валюты. | yii\i18n\Formatter |
| asDate() | Форматирует значение как дату. | yii\i18n\Formatter |
| asDatetime() | Форматирует значение как дату и время. | yii\i18n\Formatter |
| asDecimal() | Форматирует значение как десятичное число. | yii\i18n\Formatter |
| asDuration() | Представляет значение как продолжительность в удобочитаемом формате. | yii\i18n\Formatter |
| asEmail() | Форматирует значение как ссылку на почту. | yii\i18n\Formatter |
| asHtml() | Форматирует значение как HTML-текст. | yii\i18n\Formatter |
| asImage() | Форматирует значение как тег изображения. | yii\i18n\Formatter |
| asInteger() | Форматирует значение как целое число, удаляя любые десятичные цифры без округления. | yii\i18n\Formatter |
| asNtext() | Форматирует значение как HTML-кодированный обычный текст, заменяя новые строки на разрывы строк. | yii\i18n\Formatter |
| asOrdinal() | Форматирует значение как порядковое значение числа. | yii\i18n\Formatter |
| asParagraphs() | Форматирует значение как HTML-кодированные абзацы. | yii\i18n\Formatter |
| asPercent() | Форматирует значение как процентное число со знаком «%». | yii\i18n\Formatter |
| asRaw() | Форматирует значение в исходном виде без какого-либо форматирования. | yii\i18n\Formatter |
| asRelativeTime() | Форматирует значение как интервал времени между датой и текущим моментом в удобочитаемой форме. | yii\i18n\Formatter |
| asScientific() | Форматирует значение как научное число. | yii\i18n\Formatter |
| asShortSize() | Форматирует значение в байтах как размер в удобочитаемой форме, например 12 KB. | yii\i18n\Formatter |
| asSize() | Форматирует значение в байтах как размер в удобочитаемой форме, например 12 kilobytes. | yii\i18n\Formatter |
| asSpellout() | Форматирует значение как число в словесной форме. | yii\i18n\Formatter |
| asText() | Форматирует значение как HTML-кодированный обычный текст. | yii\i18n\Formatter |
| asTime() | Форматирует значение как время. | yii\i18n\Formatter |
| asTimestamp() | Форматирует дату, время или дату и время в виде числового значения как временную метку Unix (секунды с 01.01.1970). | yii\i18n\Formatter |
| asUrl() | Форматирует значение как гиперссылку. | yii\i18n\Formatter |
| 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() | Форматирует значение на основе заданного типа формата. | yii\i18n\Formatter |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, присоединённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\i18n\Formatter |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| createNumberFormatter() | Создаёт форматировщик чисел на основе заданного типа и формата. | yii\i18n\Formatter |
| normalizeDatetimeValue() | Нормализует заданное значение даты и времени в объект DateTime, который может быть использован различными методами форматирования даты/времени. | yii\i18n\Formatter |
| normalizeNumericValue() | Нормализует числовое входное значение. | yii\i18n\Formatter |
Подробное описание свойств
$booleanFormat общедоступное свойство
Текст, отображаемый при форматировании булевого значения. Первый элемент соответствует тексту, отображаемому для false, второй элемент для true. По умолчанию ['No', 'Yes'], где Yes и No будут переведены в соответствии с $locale.
public array $booleanFormat = null
$calendar общедоступное свойство (доступно начиная с версии 2.0.7)
Календарь, используемый для форматирования даты. Значение этого свойства будет напрямую передано в конструктор класса IntlDateFormatter.
По умолчанию null, что означает, что будет использоваться григорианский календарь. Вы также можете явно передать константу \IntlDateFormatter::GREGORIAN для григорианского календаря.
Чтобы использовать альтернативный календарь, например, персидский календарь, установите это свойство в значение \IntlDateFormatter::TRADITIONAL. При этом календарь должен быть указан в $locale, например, для персидского календаря конфигурация форматировщика будет:
'formatter' => [
'locale' => 'fa_IR@calendar=persian',
'calendar' => \IntlDateFormatter::TRADITIONAL,
],
Доступные названия календарей можно найти в руководстве ICU.
Начиная с PHP 5.5, вы также можете использовать экземпляр класса IntlCalendar. Подробнее см. справочник PHP.
Если расширение PHP intl недоступно, установка этого свойства не повлияет на результат.
См. также:
- http://php.net/manual/en/intldateformatter.create.php
- http://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants.calendartypes
- http://php.net/manual/en/class.intlcalendar.php
public IntlCalendar|integer|null $calendar = null
$currencyCode общедоступное свойство
3-х буквенный код ISO 4217 валюты, указывающий по умолчанию валюту для asCurrency(). Если не задано, будет использоваться код валюты, соответствующий $locale. Обратите внимание, что в этом случае $locale должен быть указан с кодом страны, например en-US, иначе нельзя определить валюту по умолчанию.
public string $currencyCode = null
$dateFormat общедоступное свойство
Строка формата по умолчанию, используемая для форматирования даты. Может быть "short", "medium", "long" или "full", представляющие предопределённый формат разной длины.
Также может быть пользовательским форматом, как указано в руководстве ICU. В качестве альтернативы, это может быть строка, начинающаяся с php:, представляющая формат, распознаваемый функцией PHP date().
Например:
'MM/dd/yyyy' // date in ICU format 'php:m/d/Y' // the same date in PHP format
public string $dateFormat = 'medium'
$datetimeFormat общедоступное свойство
Строка формата по умолчанию, используемая для форматирования даты и времени. Может быть "short", "medium", "long" или "full", представляющие предопределённый формат разной длины.
Также может быть пользовательским форматом, как указано в руководстве ICU.
В качестве альтернативы, это может быть строка, начинающаяся с php:, представляющая формат, распознаваемый функцией PHP date().
Например:
'MM/dd/yyyy HH:mm:ss' // date and time in ICU format 'php:m/d/Y H:i:s' // the same date and time in PHP format
public string $datetimeFormat = 'medium'
$decimalSeparator общедоступное свойство
Символ, отображаемый в качестве десятичной точки при форматировании числа. Если не задано, будет использоваться десятичная точка, соответствующая $locale. Если расширение PHP intl недоступно, значение по умолчанию - '.'.
public string $decimalSeparator = null
$defaultTimeZone общедоступное свойство (доступно начиная с версии 2.0.1)
Часовой пояс, предполагаемый для входных значений, если они не содержат явно указанного часового пояса.
Значение должно быть допустимым идентификатором часового пояса, например, UTC, Europe/Berlin или America/Chicago. См. справочник PHP для доступных часовых поясов.
По умолчанию UTC, поэтому вам нужно изменить это значение только в том случае, если вы храните значения даты и времени в другом часовом поясе в вашей базе данных.
Обратите внимание, что метка времени UNIX всегда находится в UTC по определению. Это означает, что указание часового пояса по умолчанию, отличного от UTC, не влияет на значения даты, заданные в качестве метки времени UNIX.
public string $defaultTimeZone = 'UTC'
$locale общедоступное свойство
Идентификатор локали, используемый для локализации форматирования дат и чисел. Для форматирования чисел и дат это эффективно только при установке расширения PHP intl. Если не задано, используется значение yii\base\Application::$language.
public string $locale = null
$nullDisplay общедоступное свойство
Текст, отображаемый при форматировании значения null. По умолчанию '<span class="not-set">(not set)</span>', где (not set) будет переведен в соответствии с $locale.
public string $nullDisplay = null
$numberFormatterOptions общедоступное свойство
Список пар имя-значение, передаваемых методу intl NumberFormatter::setAttribute() всех объектов форматировщика чисел, созданных методом createNumberFormatter(). Это свойство действует только при установке расширения PHP intl.
См. справочник PHP для возможных вариантов.
Например, для изменения максимального и минимального количества знаков после запятой, можно настроить это свойство следующим образом:
[
NumberFormatter::MIN_FRACTION_DIGITS => 0,
NumberFormatter::MAX_FRACTION_DIGITS => 2,
]
public array $numberFormatterOptions = []
$numberFormatterSymbols общедоступное свойство (доступно начиная с версии 2.0.4)
Список пар имя-значение, передаваемых методу intl NumberFormatter::setSymbol() всех объектов форматировщика чисел, созданных методом createNumberFormatter(). Это свойство действует только при установке расширения PHP intl.
См. справочник PHP для возможных вариантов.
Например, чтобы выбрать пользовательский символ валюты, например U+20BD вместо руб. для российского рубля:
[
NumberFormatter::CURRENCY_SYMBOL => '₽',
]
public array $numberFormatterSymbols = []
$numberFormatterTextOptions общедоступное свойство
Список пар имя-значение, передаваемых методу intl NumberFormatter::setTextAttribute() всех объектов форматировщика чисел, созданных методом createNumberFormatter(). Это свойство действует только при установке расширения PHP intl.
См. справочник PHP для возможных вариантов.
Например, для изменения знака минус для отрицательных чисел можно настроить это свойство следующим образом:
[
NumberFormatter::NEGATIVE_PREFIX => 'MINUS',
]
public array $numberFormatterTextOptions = []
$sizeFormatBase общедоступное свойство
База, при которой рассчитывается килобайт (1000 или 1024 байта на килобайт), используемая методами asSize() и asShortSize(). По умолчанию 1024.
public integer $sizeFormatBase = 1024
$thousandSeparator общедоступное свойство
Символ, отображаемый в качестве разделителя тысяч (также называемый разделителем группировки) при форматировании числа. Если не задано, будет использоваться разделитель тысяч, соответствующий $locale. Если расширение PHP intl недоступно, значение по умолчанию - ','.
public string $thousandSeparator = null
$timeFormat общедоступное свойство
Форматная строка по умолчанию для форматирования времени. Может быть «короткая», «средняя», «длинная» или «полная», что представляет собой предопределённый формат разной длины.
Также может быть пользовательским форматом, как указано в руководстве ICU. Кроме того, это может быть строка, начинающаяся с php: , представляющая формат, распознаваемый функцией PHP date().
Например:
'HH:mm:ss' // time in ICU format 'php:H:i:s' // the same time in PHP format
public string $timeFormat = 'medium'
$timeZone общественная переменная
Часовой пояс для форматирования значений времени и даты.
Может принимать любое значение, которое можно передать в date_default_timezone_set(), например UTC, Europe/Berlin или America/Chicago. См. справочник PHP для доступных часовых поясов. Если эта переменная не установлена, будет использован yii\base\Application::$timeZone.
Обратите внимание, что по умолчанию часовой пояс для входных данных предполагается UTC, если в значении даты не указан часовой пояс. Если данные хранятся в базе данных в другом часовом поясе, необходимо соответствующим образом настроить $defaultTimeZone.
public string $timeZone = null
Подробное описание методов
asBoolean() public method
Форматирует значение в виде булевого.
См. также $booleanFormat.
| public string asBoolean ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение, которое необходимо отформатировать. |
| return | string |
Отформатированный результат. |
asCurrency() public method
Форматирует значение как число в формате валюты.
Эта функция не требует установки расширения PHP intl для работы, но настоятельно рекомендуется установить его для получения хороших результатов форматирования.
| public string asCurrency ( $value, $currency = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | mixed |
Значение, которое необходимо отформатировать. |
| $currency | string |
Трехбуквенный код ISO 4217 валюты, указывающий используемую валюту. Если null, будет использоваться $currencyCode. |
| $options | array |
Дополнительные параметры для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | array |
Дополнительные параметры для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование завершилось ошибкой. |
| throws | yii\base\InvalidConfigException |
если валюта не указана, и $currencyCode не определён. |
asDate() public method
Форматирует значение в виде даты.
См. также $dateFormat.
| public string asDate ( $value, $format = null ) | ||
|---|---|---|
| $value | integer|string|DateTime |
Значение для форматирования. Поддерживаются следующие типы значений:
Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование временной зоны не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение. Также преобразование не будет выполняться для значений, у которых нет информации о времени, например |
| $format | string |
Формат, используемый для преобразования значения в строку даты. Если null, используется $dateFormat. Может быть "short", "medium", "long" или "full", что представляет собой предопределённый формат различной длины. Также может быть пользовательским форматом, как указано в руководстве ICU. Кроме того, это может быть строка, начинающаяся с |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не может быть оценено как значение даты. |
| throws | yii\base\InvalidConfigException |
если формат даты неверный. |
asDatetime() public method
Форматирует значение в виде даты и времени.
См. также $datetimeFormat.
| public string asDatetime ( $value, $format = null ) | ||
|---|---|---|
| $value | integer|string|DateTime |
Значение для форматирования. Поддерживаются следующие типы значений:
Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование временной зоны не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение. |
| $format | string |
Формат, используемый для преобразования значения в строку даты и времени. Если null, используется $dateFormat. Может быть "short", "medium", "long" или "full", что представляет собой предопределённый формат различной длины. Также может быть пользовательским форматом, как указано в руководстве ICU. Кроме того, это может быть строка, начинающаяся с |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не может быть оценено как значение даты. |
| throws | yii\base\InvalidConfigException |
если формат даты неверный. |
asDecimal() public method
Форматирует значение как десятичное число.
Свойство $decimalSeparator будет использоваться для представления десятичной точки. Значение автоматически округляется до заданного количества десятичных знаков.
См. также:
| public string asDecimal ( $value, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | mixed |
Значение, которое необходимо отформатировать. |
| $decimals | integer |
Количество цифр после десятичной точки. Если не указано, количество цифр зависит от входного значения и определяется на основе |
| $options | array |
Дополнительные параметры для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | array |
Дополнительные параметры для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование завершилось ошибкой. |
asDuration() public method (доступно начиная с версии 2.0.7)
Представляет значение как продолжительность в удобочитаемом формате.
| public string asDuration ( $value, $implodeString = ', ', $negativeSign = '-' ) | ||
|---|---|---|
| $value | DateInterval|string|integer |
Значение для форматирования. Допустимые форматы:
|
| $implodeString | string |
Будет использоваться для конкатенации частей интервала времени. По умолчанию |
| $negativeSign | string |
Будет добавлен перед отформатированным интервалом времени, если он отрицательный. По умолчанию |
| return | string |
Отформатированный интервал времени. |
asEmail() public method
Форматирует значение как ссылку mailto.
| public string asEmail ( $value, $options = [] ) | ||
|---|---|---|
| $value | string |
Значение для форматирования. |
| $options | array |
Параметры тега в виде пар имя-значение. См. yii\helpers\Html::mailto(). |
| return | string |
Результат форматирования. |
asHtml() public method
Форматирует значение как HTML-текст.
Значение будет очищено с помощью yii\helpers\HtmlPurifier, чтобы избежать атак XSS. Используйте asRaw(), если вы не хотите очистки значения.
| public string asHtml ( $value, $config = null ) | ||
|---|---|---|
| $value | string |
Значение для форматирования. |
| $config | array|null |
Конфигурация для класса HTMLPurifier. |
| return | string |
Результат форматирования. |
asImage() public method
Форматирует значение как тег изображения.
| public string asImage ( $value, $options = [] ) | ||
|---|---|---|
| $value | mixed |
Значение для форматирования. |
| $options | array |
Параметры тега в виде пар имя-значение. См. yii\helpers\Html::img(). |
| return | string |
Результат форматирования. |
asInteger() public method
Форматирует значение как целое число, удаляя все десятичные знаки без округления.
| public string asInteger ( $value, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | mixed |
Значение для форматирования. |
| $options | array |
Дополнительные настройки для форматировщика чисел. Этот параметр будет объединен с $numberFormatterOptions. |
| $textOptions | array |
Дополнительные настройки для форматировщика чисел. Этот параметр будет объединен с $numberFormatterTextOptions. |
| return | string |
Результат форматирования. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
asNtext() public method
Форматирует значение как HTML-кодированный обычный текст, заменяя новые строки на разрывы строк.
| public string asNtext ( $value ) | ||
|---|---|---|
| $value | string |
Значение для форматирования. |
| return | string |
Результат форматирования. |
asOrdinal() public method
Форматирует значение как порядковое значение числа.
Эта функция требует наличия расширения PHP intl.
| public string asOrdinal ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение для форматирования. |
| return | string |
Результат форматирования. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
| throws | yii\base\InvalidConfigException |
если расширение PHP intl недоступно. |
asParagraphs() public method
Форматирует значение как HTML-кодированные абзацы текста.
Каждый абзац текста заключен в тег <p>. Один или несколько последовательных пустых строк разделяют два абзаца.
| public string asParagraphs ( $value ) | ||
|---|---|---|
| $value | string |
Значение для форматирования. |
| return | string |
Результат форматирования. |
asPercent() public method
Форматирует значение как процентное число со знаком «%».
| public string asPercent ( $value, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | mixed |
Значение для форматирования. Оно должно быть фактором, например, |
| $decimals | integer |
Количество цифр после запятой. Если не указано, количество цифр зависит от входного значения и определяется на основе |
| $options | array |
Дополнительные настройки для форматировщика чисел. Этот параметр будет объединен с $numberFormatterOptions. |
| $textOptions | array |
Дополнительные настройки для форматировщика чисел. Этот параметр будет объединен с $numberFormatterTextOptions. |
| return | string |
Результат форматирования. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
asRaw() public method
Форматирует значение без изменений.
Этот метод просто возвращает параметр без каких-либо изменений. Исключение составляет значение null, которое будет отформатировано с помощью $nullDisplay.
| public string asRaw ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение для форматирования. |
| return | string |
Результат форматирования. |
asRelativeTime() public method
Форматирует значение как временной интервал между датой и текущим временем в удобочитаемой форме.
Этот метод можно использовать тремя различными способами:
- Используя отметку времени, относящуюся к
now. - Используя отметку времени, относящуюся к
$referenceTime. - Используя объект
DateInterval.
| public string asRelativeTime ( $value, $referenceTime = null ) | ||
|---|---|---|
| $value | integer|string|DateTime|DateInterval |
Значение, подлежащее форматированию. Поддерживаются следующие типы значений:
|
| $referenceTime | integer|string|DateTime |
Если указано, значение используется как временная отметка, а не |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение нельзя оценить как значение даты. |
asScientific() public method
Форматирует значение как научное число.
| public string asScientific ( $value, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | mixed |
Значение, подлежащее форматированию. |
| $decimals | integer |
Количество цифр после десятичной точки. Если не указано, количество цифр зависит от входного значения и определяется на основе |
| $options | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
asShortSize() public method
Форматирует значение в байтах как размер в удобочитаемой форме, например, 12 KB.
Это короткая форма asSize().
Если $sizeFormatBase равен 1024, в результате форматирования используются двоичные префиксы (например, кибибайт/KiB, мебибайт/MiB, ...).
См. также:
| public string asShortSize ( $value, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | string|integer|float |
Значение в байтах, подлежащее форматированию. |
| $decimals | integer |
Количество цифр после десятичной точки. |
| $options | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
asSize() public method
Форматирует значение в байтах как размер в удобочитаемой форме, например, 12 kilobytes.
Если $sizeFormatBase равен 1024, в результате форматирования используются двоичные префиксы (например, кибибайт/KiB, мебибайт/MiB, ...).
См. также:
| public string asSize ( $value, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $value | string|integer|float |
Значение в байтах, подлежащее форматированию. |
| $decimals | integer |
Количество цифр после десятичной точки. |
| $options | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | array |
Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
asSpellout() public method
Форматирует значение как словесное представление числа.
Для этой функции требуется установленное расширение PHP intl.
| public string asSpellout ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение, подлежащее форматированию |
| return | string |
Отформатированный результат. |
| throws | yii\base\InvalidParamException |
если входное значение не является числовым или форматирование не удалось. |
| throws | yii\base\InvalidConfigException |
если расширение PHP intl недоступно. |
asText() public method
Форматирует значение как HTML-кодированный обычный текст.
| public string asText ( $value ) | ||
|---|---|---|
| $value | string |
Значение, подлежащее форматированию. |
| return | string |
Отформатированный результат. |
asTime() public method
Форматирует значение как время.
См. также $timeFormat.
| public строка asTime ( $value, $format = null ) | ||
|---|---|---|
| $value | целое|строка|DateTime |
Значение, которое нужно отформатировать. Поддерживаются следующие типы значений:
Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование часового пояса не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение. |
| $format | строка |
Формат, используемый для преобразования значения в строку даты. Если null, будет использоваться $timeFormat. Может быть «short», «medium», «long» или «full», что представляет собой предварительно заданный формат различной длины. Также может быть настроенным форматом, как указано в руководстве ICU. Кроме того, это может быть строка, префикс которой |
| return | строка |
Результат форматирования. |
| throws | yii\base\InvalidParamException |
если входное значение нельзя оценить как значение даты. |
| throws | yii\base\InvalidConfigException |
если формат даты неверный. |
asTimestamp() public method
Форматирует дату, время или дату и время в виде числа с плавающей точкой как метку времени UNIX (секунды с 01.01.1970).
| public строка asTimestamp ( $value ) | ||
|---|---|---|
| $value | целое|строка|DateTime |
Значение, которое нужно отформатировать. Поддерживаются следующие типы значений:
|
| return | строка |
Результат форматирования. |
asUrl() public method
Форматирует значение как гиперссылку.
| public строка asUrl ( $value, $options = [] ) | ||
|---|---|---|
| $value | смешанный тип |
Значение, которое нужно отформатировать. |
| $options | массив |
Параметры тега в виде пар имя-значение. См. yii\helpers\Html::a(). |
| return | строка |
Результат форматирования. |
createNumberFormatter() protected method
Создаёт форматировщик чисел на основе заданного типа и формата.
Вы можете переопределить этот метод, чтобы создать форматировщик чисел на основе шаблонов.
| protected NumberFormatter createNumberFormatter ( $style, $decimals = null, $options = [], $textOptions = [] ) | ||
|---|---|---|
| $style | целое |
Тип форматировщика чисел. Значения: NumberFormatter::DECIMAL, ::CURRENCY, ::PERCENT, ::SCIENTIFIC, ::SPELLOUT, ::ORDINAL ::DURATION, ::PATTERN_RULEBASED, ::DEFAULT_STYLE, ::IGNORE |
| $decimals | целое |
Количество цифр после запятой. |
| $options | массив |
Дополнительная конфигурация для форматировщика чисел. Этот параметр будет объединён с $numberFormatterOptions. |
| $textOptions | массив |
Дополнительная конфигурация для форматировщика чисел. Этот параметр будет объединён с $numberFormatterTextOptions. |
| return | NumberFormatter |
Созданный экземпляр форматировщика |
format() public method
Форматирует значение в соответствии с заданным типом формата.
Этот метод вызовет один из методов «as», доступных в этом классе, для выполнения форматирования. Для типа «xyz» будет использован метод «asXyz». Например, если формат «html», то будет использован asHtml(). Имена форматов нечувствительны к регистру.
| public строка format ( $value, $format ) | ||
|---|---|---|
| $value | смешанный тип |
Значение, которое нужно отформатировать. |
| $format | строка|массив |
Формат значения, например, «html», «text». Для указания дополнительных параметров метода форматирования можно использовать массив. Первый элемент массива задаёт имя формата, а остальные элементы будут использоваться как параметры метода форматирования. Например, формат |
| return | строка |
Результат форматирования. |
| throws | yii\base\InvalidParamException |
если тип формата не поддерживается этим классом. |
init() public method
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.
| public void init ( ) |
|---|
normalizeDatetimeValue() protected method
Нормализует заданное значение даты и времени как объект DateTime, который может быть принят различными методами форматирования даты/времени.
| protected DateTime|массив normalizeDatetimeValue ( $value, $checkDateTimeInfo = false ) | ||
|---|---|---|
| $value | целое|строка|DateTime |
Значение даты и времени для нормализации. Поддерживаются следующие типы значений:
|
| $checkDateTimeInfo | логическое |
Нужно ли также проверить, имеет ли значение даты/времени какие-либо присоединённые к нему сведения о времени и дате. По умолчанию |
| return | DateTime|массив |
Нормализованное значение даты и времени. С версии 2.0.1 это также может быть массив, если |
| throws | yii\base\InvalidParamException |
если входное значение нельзя оценить как значение даты. |
normalizeNumericValue() protected method
Нормализует числовое входное значение
- все пустые значения приведут к
0 - строка с числовым значением будет преобразована в тип float
- все остальное будет возвращено, если это числовое значение, в противном случае генерируется исключение.
| защищённый float|integer normalizeNumericValue ( $value ) | ||
|---|---|---|
| $value | mixed |
Входящее значение |
| возвращаемое значение | float|integer |
Нормализованное числовое значение |
| выбрасывает | yii\base\InvalidParamException |
если входящее значение не является числовым. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html