Учебники

Yii — Форматирование

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

Шаг 1 — Добавьте метод actionFormatter в SiteController .

public function actionFormatter(){
   return $this->render('formatter');
}

В приведенном выше коде мы просто отображаем представление форматера .

Шаг 2 — Теперь создайте файл представления formatter.php в папке views / site .

<?php
   $formatter = \Yii::$app->formatter;
   // output: January 1, 2016
   echo $formatter->asDate('2016-01-01', 'long'),"<br>";
   // output: 51.50%
   echo $formatter->asPercent(0.515, 2),"<br>";
   // output: <a href = "mailto:[email protected]">[email protected]</a>
   echo $formatter->asEmail('[email protected]'),"<br>";
   // output: Yes
   echo $formatter->asBoolean(true),"<br>";
   // output: (Not set)
   echo $formatter->asDate(null),"<br>";
?>

Шаг 3 — Перейдите по адресу http: // localhost: 8080 / index.php? R = site / formatter , вы увидите следующий вывод.

Просмотреть файл

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

Выходной формат пример
Дата 01 января 2016 г.
время 16:06
Дата и время 01 января 2016 г. 16:06
отметка времени 1512609983
relativeTime 1 час назад
продолжительность 5 минут

Шаг 4 — Измените представление форматера таким образом.

<?php
   $formatter = \Yii::$app->formatter;
   echo $formatter->asDate(date('Y-m-d'), 'long'),"<br>";
   echo $formatter->asTime(date("Y-m-d")),"<br>";
   echo $formatter->asDatetime(date("Y-m-d")),"<br>";

   echo $formatter->asTimestamp(date("Y-m-d")),"<br>";
   echo $formatter->asRelativeTime(date("Y-m-d")),"<br>";
?>

Шаг 5 — Введите http: // localhost: 8080 / index.php? R = site / formatter в адресной строке вашего веб-браузера, вы увидите следующий вывод.

Форматтер выходной

Форматы даты

Есть также четыре ярлыка формата даты: короткая, средняя, ​​длинная и полная .

Шаг 1 — Измените файл представления форматера таким образом.

<?php
   $formatter = \Yii::$app->formatter;
   echo $formatter->asDate(date('Y-m-d'), 'short'),"<br>";
   echo $formatter->asDate(date('Y-m-d'), 'medium'),"<br>";
   echo $formatter->asDate(date('Y-m-d'), 'long'),"<br>";
   echo $formatter->asDate(date('Y-m-d'), 'full'),"<br>";
?>

Шаг 2. Если вы зайдете в веб-браузер и введете http: // localhost: 8080 / index.php? R = site / formatter , вы увидите следующий вывод.

Вывод форматов данных

Числовые форматы

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

Выходной формат пример
целое число 51
десятичный 105,51
процентов 51%
научный 1.050000E + 2
валюта $ 105
размер 105 байт
shortSize 105 В

Шаг 1 — Измените представление форматера таким образом.

<?php
   $formatter = \Yii::$app->formatter;
   echo Yii::$app->formatter->asInteger(105),"<br>";
   echo Yii::$app->formatter->asDecimal(105.41),"<br>";
   echo Yii::$app->formatter->asPercent(0.51),"<br>";
   echo Yii::$app->formatter->asScientific(105),"<br>";
   echo Yii::$app->formatter->asCurrency(105, "$"),"<br>";
   echo Yii::$app->formatter->asSize(105),"<br>";
   echo Yii::$app->formatter->asShortSize(105),"<br>";
?>

Шаг 2 — Перейдите по адресу http: // localhost: 8080 / index.php? R = site / formatter , вы увидите следующий вывод.

Вывод числовых форматов

Другие форматы

Yii также поддерживает другие форматы —

  • текст — значение в кодировке HTML.

  • raw — значение выводится как есть.

  • параграфы — значение форматируется как текстовые абзацы HTML, заключенные в тег p .

  • ntext — значение форматируется как обычный текст HTML, где новые строки преобразуются в разрывы строк.

  • html — значение очищается с использованием HtmlPurifier, чтобы избежать атак XSS.

  • изображение — значение отформатировано как тег изображения.

  • логическое значение — значение отформатировано как логическое значение.

  • url — значение форматируется как ссылка.

  • email — значение форматируется как ссылка на почту .

текст — значение в кодировке HTML.

raw — значение выводится как есть.

параграфы — значение форматируется как текстовые абзацы HTML, заключенные в тег p .

ntext — значение форматируется как обычный текст HTML, где новые строки преобразуются в разрывы строк.

html — значение очищается с использованием HtmlPurifier, чтобы избежать атак XSS.

изображение — значение отформатировано как тег изображения.

логическое значение — значение отформатировано как логическое значение.

url — значение форматируется как ссылка.

email — значение форматируется как ссылка на почту .

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

В следующем примере показано, как форматировать дату для разных локалей.