Для отображения данных в удобочитаемом формате вы можете использовать компонент приложения форматирования .
Шаг 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 — значение форматируется как ссылка на почту .
Программа форматирования может использовать текущую активную локаль, чтобы определить, как форматировать значение для конкретной страны.
В следующем примере показано, как форматировать дату для разных локалей.