Yii2.0数据格式器
平时我们在写代码中,总是要写一个单独的文件来全局处理常用的数据格式。Yii2.0却很人性化,为我们内置了一套数据格式器。
1.格式化日期和时间
- Yii::$app->formatter->asDate() - 值被格式化成日期,如
January, 01 2014
. - Yii::$app->formatter->asTime() - 值被格式化成时间,如
14:23
. - Yii::$app->formatter->asDatetime() - 值被格式化成日期和时间,如
January, 01 2014 14:23
. - Yii::$app->formatter->asTimestamp() - 值被格式化成 unix 时间戳 如
1412609982
. - Yii::$app->formatter->asRelativeTime() - 值被格式化成和当前时间比较的时间间隔并用人们易读的格式,如
1 hour ago
.
2.格式化数字
- Yii::$app->formatter->asInteger() - 值被格式化成整型,如
42
. - Yii::$app->formatter->asDecimal() - 值被格式化成十进制数字并带有小数位和千分位,如
42.123
. - Yii::$app->formatter->asPercent() - 值被格式化成百分率,如
42%
. - Yii::$app->formatter->asScientific() - 值被格式化成科学计数型,如
4.2E4
. - Yii::$app->formatter->asCurrency() - 值被格式化成货币格式,如
£420.00
. - Yii::$app->formatter->asSize() - 字节值被格式化成易读的值,如
410 kibibytes
.
3.其他格式器
- Yii::$app->formatter->asRaw() - 输出值和原始值一样,除了
null
值会用nullDisplay格式化,这是一个伪格式器; - Yii::$app->formatter->asText() - 值会经过HTML编码; 这是GridView DataColumn默认使用的格式;
- Yii::$app->formatter->asNtext() - 值会格式化成HTML编码的纯文本,新行会转换成换行符;
- Yii::$app->formatter->asParagraphs() - 值会转换成HTML编码的文本段落,用
<p>
标签包裹; - Yii::$app->formatter->asHtml() - 值会被HtmlPurifier过滤来避免XSS跨域攻击,可传递附加选项如`['html', ['Attr.AllowedFrameTargets' => ['_blank']]];
- Yii::$app->formatter->asEmail() - 值会格式化成
mailto
-链接; - Yii::$app->formatter->asImage() - 值会格式化成图片标签;
- Yii::$app->formatter->asUrl() - 值会格式化成超链接;
- Yii::$app->formatter->asBoolean() - 值会格式化成布尔型值,默认情况下
true
对应Yes
,false
对应No
, 可根据应用语言配置进行翻译,可以配置yii\i18n\Formatter::booleanFormat-属性来调整;