📅  最后修改于: 2020-10-16 07:17:36             🧑  作者: Mango
要以可读格式显示数据,可以使用格式化程序应用程序组件。
步骤1-将actionFormatter方法添加到SiteController 。
public function actionFormatter(){
return $this->render('formatter');
}
在上面的代码中,我们只渲染格式器视图。
步骤2-现在,在views / site文件夹内创建formatter.php视图文件。
formatter;
// output: January 1, 2016
echo $formatter->asDate('2016-01-01', 'long'),"
";
// output: 51.50%
echo $formatter->asPercent(0.515, 2),"
";
// output: test@test.com
echo $formatter->asEmail('test@test.com'),"
";
// output: Yes
echo $formatter->asBoolean(true),"
";
// output: (Not set)
echo $formatter->asDate(null),"
";
?>
步骤3-转到http:// localhost:8080 / index.php?r = site / formatter ,您将看到以下输出。
格式化程序组件支持以下与日期和时间有关的格式-
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-以这种方式修改格式化程序视图。
formatter;
echo $formatter->asDate(date('Y-m-d'), 'long'),"
";
echo $formatter->asTime(date("Y-m-d")),"
";
echo $formatter->asDatetime(date("Y-m-d")),"
";
echo $formatter->asTimestamp(date("Y-m-d")),"
";
echo $formatter->asRelativeTime(date("Y-m-d")),"
";
?>
步骤5-在网络浏览器的地址栏中输入http:// localhost:8080 / index.php?r = site / formatter ,您将看到以下输出。
还有四个日期格式快捷方式: short,medium,long和full 。
步骤1-以这种方式修改格式化程序视图文件。
formatter;
echo $formatter->asDate(date('Y-m-d'), 'short'),"
";
echo $formatter->asDate(date('Y-m-d'), 'medium'),"
";
echo $formatter->asDate(date('Y-m-d'), 'long'),"
";
echo $formatter->asDate(date('Y-m-d'), 'full'),"
";
?>
步骤2-如果您进入Web浏览器并输入http:// localhost:8080 / index.php?r = site / formatter ,您将看到以下输出。
格式化程序组件支持以下与数字有关的格式-
Output format | Example |
---|---|
integer | 51 |
decimal | 105.51 |
percent | 51% |
scientific | 1.050000E+2 |
currency | $105 |
size | 105 bytes |
shortSize | 105 B |
步骤1-以这种方式修改格式化程序视图。
formatter;
echo Yii::$app->formatter->asInteger(105),"
";
echo Yii::$app->formatter->asDecimal(105.41),"
";
echo Yii::$app->formatter->asPercent(0.51),"
";
echo Yii::$app->formatter->asScientific(105),"
";
echo Yii::$app->formatter->asCurrency(105, "$"),"
";
echo Yii::$app->formatter->asSize(105),"
";
echo Yii::$app->formatter->asShortSize(105),"
";
?>
步骤2-转到http:// localhost:8080 / index.php?r = site / formatter ,您将看到以下输出。
Yii还支持其他格式-
文本-该值是HTML编码的。
raw-值按原样输出。
段落-该值的格式为包装在p标记中的HTML文本段落。
ntext-值格式为HTML纯文本,其中换行符转换为换行符。
HTML -该值用纯化的HtmlPurifier避免XSS攻击。
image-该值格式化为图像标签。
布尔值-值格式为布尔值。
url-值格式化为链接。
email-该值的格式设置为mailto-link。
格式化程序可以使用当前活动的语言环境来确定如何格式化特定国家/地区的值。
下面的示例显示如何格式化不同语言环境的日期。
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');
?>