📜  Yii-格式

📅  最后修改于: 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');
?>