Yii 格式化

Yii 格式化

为了以可读的格式显示数据,您可以使用 formatter 应用程序组件。

步骤1 - 向 SiteController 添加 actionFormatter 方法。

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

在上述代码中,我们只是渲染了 formatter 视图。

步骤2 - 现在,在 views/site folder 内创建一个 formatter.php 视图文件。

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

步骤3 − 进入 http://localhost:8080/index.php?r=site/formatter ,你将会看到以下输出。

Yii 格式化

格式化器 组件支持与日期和时间相关的以下格式:

Output format Example
date January 01, 2016
time 16:06
datetime January 01, 2016 16:06
timestamp 1512609983
relativeTime 1 hour ago
duration 5 minutes

步骤4 − 修改 格式化器 的视图如下。

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

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

步骤5 - 在您的Web浏览器地址栏中键入 http://localhost:8080/index.php?r=site/formatter ,您将看到以下输出。

Yii 格式化

日期格式

还有四个日期格式的快捷方式: 短、中、长和完整

步骤1 - 修改 格式化器 视图文件的方式如下。

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

步骤2 − 如果你打开web浏览器并在地址栏输入 http://localhost:8080/index.php?r=site/formatter ,你将会看到以下输出。

Yii 格式化

数字格式

格式化器 组件支持以下与数字相关的格式:

Output format Example
integer 51
decimal 105.51
percent 51%
scientific 1.050000E+2
currency $105
size 105 bytes
shortSize 105 B

步骤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 格式化

其他格式

Yii 还支持其他格式

  • text − 值采用 HTML 编码。

  • raw − 值原样输出。

  • paragraphs − 值被格式化为 HTML 文本段落,并被包裹在p标签中。

  • ntext − 值被格式化为带有换行符的 HTML 纯文本。

  • html − 值被用 HtmlPurifier 进行净化,以避免 XSS 攻击。

  • image − 值被格式化为图像标签。

  • boolean − 值被格式化为布尔值。

  • url − 值被格式化为链接。

  • email − 值被格式化为 mailto 链接。

格式化器可能会使用当前活动的区域设置来确定如何为特定国家/地区格式化值。

以下示例演示了如何为不同的区域设置格式化日期。

<?php
   Yii::app->formatter->locale = 'ru-RU';
   echo Yii::app->formatter->asDate('2016-01-01'); // output: 1 января 2016 г.
   Yii::app->formatter->locale = 'de-DE';
   // output: 1. Januar 2016
   echo Yii::app->formatter->asDate('2016-01-01');
   Yii::app->formatter->locale = 'en-US';
   // output: January 1, 2016
   echo Yii::app->formatter->asDate('2016-01-01');
?>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程