Yii-格式化

要以可读格式显示数据,可以使用格式化程序应用程序组件。

步骤1-actionFormatter方法添加到SiteController

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

在上面的代码中,我们只渲染格式器视图。

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

<?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:test@test.com">test@test.com</a>
   echo $formatter->asEmail('test@test.com'),"<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,您将看到以下输出。

Yii-格式化

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

输出格式
日期2016年1月1日
时间16:06
约会时间一月01,2016 16:06
时间戳记1512609983
相对时间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://本地主机:8080 / index.php的R =网站/格式化?在网页浏览器的地址栏中,您会看到下面的输出。

Yii-格式化

日期格式

还有四个日期格式快捷方式:short,medium,long和full

步骤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-如果您进入Web浏览器并输入http:// localhost:8080 / index.php?r = site / formatter,您将看到以下输出。

Yii-格式化

数字格式

格式化组件支持以下格式与数字有关-

输出格式
整数51
小数105.51
百分51%
科学的1.050000E + 2
货币$ 105
尺寸105字节
shortSize105 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还支持其他格式-

  • 文本-该值是HTML编码的。
  • raw-值按原样输出。
  • 段落-该值的格式为包装在p标记中的HTML文本段落。
  • ntext-值格式为HTML纯文本,其中换行符转换为换行符。
  • HTML -该值用纯化的HtmlPurifier避免XSS攻击。
  • image-该值格式化为图像标签。
  • 布尔值-值格式为布尔值。
  • url-值格式化为链接。
  • email-该值的格式设置为mailto-link。

格式化程序可以使用当前活动的语言环境来确定如何格式化特定国家/地区的值。

下面的示例显示如何格式化不同语言环境的日期。

<?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');
?>

作者:terry,如若转载,请注明出处:https://www.web176.com/yii/481.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2020年10月26日 下午4:02
下一篇 2020年10月26日 下午4:07

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注