Spec-Zone.ru › Yii 2.0

Класс 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

Значение для форматирования. Поддерживаются следующие типы значений:

  • целое число, представляющее метку времени Unix. Метка времени Unix всегда в UTC по определению.
  • строка, которая может быть распарсована для создания объекта DateTime. Метка времени предполагается в $defaultTimeZone, если не указана явно зона времени.
  • объект PHP DateTime. Вы можете установить зону времени для объекта DateTime, чтобы указать исходную зону времени.

Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование временной зоны не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение. Также преобразование не будет выполняться для значений, у которых нет информации о времени, например "2017-06-05".

$format string

Формат, используемый для преобразования значения в строку даты. Если null, используется $dateFormat.

Может быть "short", "medium", "long" или "full", что представляет собой предопределённый формат различной длины. Также может быть пользовательским форматом, как указано в руководстве ICU.

Кроме того, это может быть строка, начинающаяся с php: , представляющая формат, который может быть распознан функцией PHP date().

return string

Отформатированный результат.

throws yii\base\InvalidParamException

если входное значение не может быть оценено как значение даты.

throws yii\base\InvalidConfigException

если формат даты неверный.

asDatetime() public method

Форматирует значение в виде даты и времени.

См. также $datetimeFormat.

public string asDatetime ( $value, $format = null )
$value integer|string|DateTime

Значение для форматирования. Поддерживаются следующие типы значений:

  • целое число, представляющее метку времени Unix. Метка времени Unix всегда в UTC по определению.
  • строка, которая может быть распарсована для создания объекта DateTime. Метка времени предполагается в $defaultTimeZone, если не указана явно зона времени.
  • объект PHP DateTime. Вы можете установить зону времени для объекта DateTime, чтобы указать исходную зону времени.

Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование временной зоны не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение.

$format string

Формат, используемый для преобразования значения в строку даты и времени. Если null, используется $dateFormat.

Может быть "short", "medium", "long" или "full", что представляет собой предопределённый формат различной длины. Также может быть пользовательским форматом, как указано в руководстве ICU.

Кроме того, это может быть строка, начинающаяся с php: , представляющая формат, который может быть распознан функцией PHP date().

return string

Отформатированный результат.

throws yii\base\InvalidParamException

если входное значение не может быть оценено как значение даты.

throws yii\base\InvalidConfigException

если формат даты неверный.

asDecimal() public method

Форматирует значение как десятичное число.

Свойство $decimalSeparator будет использоваться для представления десятичной точки. Значение автоматически округляется до заданного количества десятичных знаков.

См. также:

  • $decimalSeparator
  • $thousandSeparator
public string asDecimal ( $value, $decimals = null, $options = [], $textOptions = [] )
$value mixed

Значение, которое необходимо отформатировать.

$decimals integer

Количество цифр после десятичной точки. Если не указано, количество цифр зависит от входного значения и определяется на основе NumberFormatter::MIN_FRACTION_DIGITS и NumberFormatter::MAX_FRACTION_DIGITS, которые можно настроить с помощью $numberFormatterOptions. Если расширение PHP intl недоступно, значение по умолчанию равно 2. Если вы хотите обеспечить согласованное поведение в средах, где intl доступен и недоступен, вы должны явно указать значение здесь.

$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

Значение для форматирования. Допустимые форматы:

  • Объект DateInterval
  • целое число — количество секунд. Например: значение 131 представляет 2 minutes, 11 seconds
  • формат ISO8601 для интервала времени. Например, все эти значения представляют интервал времени 1 day, 2 hours, 30 minutes: 2015-01-01T13:00:00Z/2015-01-02T13:30:00Z — между двумя значениями datetime 2015-01-01T13:00:00Z/P1D2H30M — интервал времени после значения datetime P1D2H30M/2015-01-02T13:30:00Z — интервал времени до значения datetime P1D2H30M — просто интервал дат P-1D2H30M — отрицательный интервал дат (-1 day, 2 hours, 30 minutes)
$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

Значение для форматирования. Оно должно быть фактором, например, 0.75 приведет к 75%.

$decimals integer

Количество цифр после запятой. Если не указано, количество цифр зависит от входного значения и определяется на основе NumberFormatter::MIN_FRACTION_DIGITS и NumberFormatter::MAX_FRACTION_DIGITS, которые можно настроить, используя $numberFormatterOptions. Если расширение PHP intl недоступно, значение по умолчанию 0. Если вам нужна согласованная работа между средами с доступным и недоступным intl, вы должны явно указать значение здесь.

$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

Форматирует значение как временной интервал между датой и текущим временем в удобочитаемой форме.

Этот метод можно использовать тремя различными способами:

  1. Используя отметку времени, относящуюся к now.
  2. Используя отметку времени, относящуюся к $referenceTime.
  3. Используя объект DateInterval.
public string asRelativeTime ( $value, $referenceTime = null )
$value integer|string|DateTime|DateInterval

Значение, подлежащее форматированию. Поддерживаются следующие типы значений:

  • целое число, представляющее отметку времени UNIX
  • строка, которая может быть разложена для создания объекта DateTime. Отметка времени предполагается в $defaultTimeZone, если не указана явно часовая зона.
  • объект PHP DateTime
  • объект PHP DateInterval (положительный временной интервал будет относиться к прошлому, отрицательный — к будущему)
$referenceTime integer|string|DateTime

Если указано, значение используется как временная отметка, а не now, когда $value не является объектом DateInterval.

return string

Отформатированный результат.

throws yii\base\InvalidParamException

если входное значение нельзя оценить как значение даты.

asScientific() public method

Форматирует значение как научное число.

public string asScientific ( $value, $decimals = null, $options = [], $textOptions = [] )
$value mixed

Значение, подлежащее форматированию.

$decimals integer

Количество цифр после десятичной точки. Если не указано, количество цифр зависит от входного значения и определяется на основе NumberFormatter::MIN_FRACTION_DIGITS и NumberFormatter::MAX_FRACTION_DIGITS, которые можно настроить с помощью $numberFormatterOptions. Если расширение PHP intl недоступно, значение по умолчанию зависит от вашей конфигурации PHP. Если вы хотите обеспечить согласованное поведение между средами, где intl доступен и не доступен, вы должны явно указать значение здесь.

$options array

Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterOptions.

$textOptions array

Дополнительная настройка для форматирования чисел. Этот параметр будет объединён с $numberFormatterTextOptions.

return string

Отформатированный результат.

throws yii\base\InvalidParamException

если входное значение не является числовым или форматирование не удалось.

asShortSize() public method

Форматирует значение в байтах как размер в удобочитаемой форме, например, 12 KB.

Это короткая форма asSize().

Если $sizeFormatBase равен 1024, в результате форматирования используются двоичные префиксы (например, кибибайт/KiB, мебибайт/MiB, ...).

См. также:

  • $sizeFormatBase
  • asSize()
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, ...).

См. также:

  • $sizeFormatBase
  • asShortSize()
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

Значение, которое нужно отформатировать. Поддерживаются следующие типы значений:

  • целое число, представляющее собой метку времени UNIX. Метка времени UNIX всегда в UTC по определению.
  • строка, которую можно распарсить для создания объекта DateTime. Предполагается, что метка времени находится в $defaultTimeZone, если явным образом не задан часовой пояс.
  • объект PHP DateTime. Вы можете установить часовой пояс для объекта DateTime, чтобы указать исходный часовой пояс.

Форматировщик преобразует значения дат в соответствии с $timeZone перед форматированием. Если преобразование часового пояса не должно выполняться, необходимо установить $defaultTimeZone и $timeZone в одно и то же значение.

$format строка

Формат, используемый для преобразования значения в строку даты. Если null, будет использоваться $timeFormat.

Может быть «short», «medium», «long» или «full», что представляет собой предварительно заданный формат различной длины. Также может быть настроенным форматом, как указано в руководстве ICU.

Кроме того, это может быть строка, префикс которой php: представляет собой формат, распознаваемый функцией PHP date().

return строка

Результат форматирования.

throws yii\base\InvalidParamException

если входное значение нельзя оценить как значение даты.

throws yii\base\InvalidConfigException

если формат даты неверный.

asTimestamp() public method

Форматирует дату, время или дату и время в виде числа с плавающей точкой как метку времени UNIX (секунды с 01.01.1970).

public строка asTimestamp ( $value )
$value целое|строка|DateTime

Значение, которое нужно отформатировать. Поддерживаются следующие типы значений:

  • целое число, представляющее собой метку времени UNIX
  • строка, которую можно распарсить для создания объекта DateTime. Предполагается, что метка времени находится в $defaultTimeZone, если явным образом не задан часовой пояс.
  • объект PHP 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». Для указания дополнительных параметров метода форматирования можно использовать массив. Первый элемент массива задаёт имя формата, а остальные элементы будут использоваться как параметры метода форматирования. Например, формат ['date', 'Y-m-d'] вызовет asDate($value, 'Y-m-d').

return строка

Результат форматирования.

throws yii\base\InvalidParamException

если тип формата не поддерживается этим классом.

init() public method

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.

public void init ( )

normalizeDatetimeValue() protected method

Нормализует заданное значение даты и времени как объект DateTime, который может быть принят различными методами форматирования даты/времени.

protected DateTime|массив normalizeDatetimeValue ( $value, $checkDateTimeInfo = false )
$value целое|строка|DateTime

Значение даты и времени для нормализации. Поддерживаются следующие типы значений:

  • целое число, представляющее собой метку времени UNIX
  • строка, которую можно распарсить для создания объекта DateTime. Предполагается, что метка времени находится в $defaultTimeZone, если явным образом не задан часовой пояс.
  • объект PHP DateTime
$checkDateTimeInfo логическое

Нужно ли также проверить, имеет ли значение даты/времени какие-либо присоединённые к нему сведения о времени и дате. По умолчанию false. Если true, метод вернёт массив, содержащий нормализованную метку времени, логическое значение, указывающее, содержит ли метка времени информацию о времени, и логическое значение, указывающее, содержит ли метка времени информацию о дате. Этот параметр доступен с версии 2.0.1.

return DateTime|массив

Нормализованное значение даты и времени. С версии 2.0.1 это также может быть массив, если $checkDateTimeInfo имеет значение true. Первый элемент массива — нормализованная метка времени, второй — логическое значение, указывающее, содержит ли метка времени информацию о времени или представляет только значение даты. С версии 2.0.12 массив имеет третий логический элемент, указывающий, содержит ли метка времени информацию о дате или только значение времени.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API