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 对应 Yesfalse 对应 No, 可根据应用语言配置进行翻译,可以配置yii\i18n\Formatter::booleanFormat-属性来调整;

posted @ 2015-11-22 01:03  冰狼爱魔  阅读(546)  评论(0编辑  收藏  举报