平时我们在写代码中,总是要写一个单独的文件来全局处理常用的数据格式。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-属性来调整;

Yii2.0数据格式器的更多相关文章

  1. 【Yii系列】Yii2.0基础框架

    缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...

  2. Yii2.0

    Yii2.0基础框架   缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是 ...

  3. Yii2.0基础框架

    前言:最近在用php写一个项目的接口,所以需要学习一下Yii的框架,也在这里记录一下. 整体结构 ssets文件夹:assets的作用是方便模块化,插件化的,一般来说出于安全原因不允许通过url访问p ...

  4. Yii2 查询构建器 QueryBuilder

    查询构造器 QueryBuilder 1.什么是查询构建器 查询构建器也是建立在 DAO 基础之上,可让你创建程序化的.DBMS 无关的 sql 语句,并且这样创建的 sql 语句比原生的 sql 语 ...

  5. yii2.0 如何按需加载并管理CSS样式及JS脚本

    链接:http://www.yiichina.com/tutorial/399 (注:以下为Yii2.0高级应用测试) Yii2.0对于CSS/JS 管理,使用AssetBundle资源包类. 视图如 ...

  6. Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息

    一.什么是yii2-queue? Yii2-queue是Yii2.0 PHP框架下一个消息队列拓展插件,支持基于DB, Redis, RabbitMQ, AMQP, Beanstalk 和 Gearm ...

  7. Yii2.0 高级版安装 windows

    最近在学习yii2.0 在安装高级版的时候遇到一些问题 索性解决了 下面分享一下 一.关于下载 自行百度,在Yii Framework 中文社区 下载专区下载高级应用程序模板(这边下载用电信网络不用下 ...

  8. Yii2.0.7 限制user module登录遇到的问题

    在Yii2.0.6的时候我是在以下文件通过以下方法实现的. frontend/modules/user/Module.php namespace frontend\modules\user; clas ...

  9. yii2.0归档安装方法

    我前几天用composer安装 一直没成功  我就用归档的方法安装了  所以这篇文字只帮助那些用归档方法安装的朋友 Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功 ...

随机推荐

  1. web单机优化

    又得开始写博客了,目测又要一周一篇了,当然了这不算python跟前端的,个人喜欢notepad++可惜不能放图片,word什么的太讨厌了 为什么要单机优化呢,很简单,因为不论以后是各类集群也好,物理机 ...

  2. WebBrowser内嵌页面的跨域调用问题

    很早之前我写过一篇Blog:网页通过External接口与WebBrowser交互,文中的交互其实只介绍了JS调用C++的部分,而C++调用JS由于微软自己的例子太多,那篇文章就没介绍,不过我最近遇到 ...

  3. Fuzzy Search

    题意: 考虑模板串B和给定串A,给定K,对于模板串上给定位置j的字符,如果能在给定串上i左右K个字符内找到相同字符,则说可以匹配. 问有多少匹配. 解法: 考虑对于每一种字符分开求. 对于当前字符ch ...

  4. 20个Flutter实例视频教程-第03节: 不规则底部工具栏制作-1

    第03节: 不规则底部工具栏制作-1 博客地址: https://jspang.com/post/flutterDemo.html#toc-973 视频地址: https://www.bilibili ...

  5. msql 初识数据库

    一 数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中, 毫无疑问, 一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题, 并且假设程序所有 ...

  6. 用Go语言异常机制模拟TryCatch异常捕捉

    有的同学看到Go和TryCatch一起出现,心里可能会说,难道Go语言升级了,加入了try...catch语句.哈哈,其实Go语言从创建之初就没打算加入try...catch语句,因为创建Go的那帮大 ...

  7. BlocksKit的使用

    一.引言 众所周知Block已被广泛用于iOS编程.它们通常被用作可并发执行的逻辑单元的封装,或者作为事件触发的回调.Block比传统回调函数有2点优势: 允许在调用点上下文书写执行逻辑,不用分离函数 ...

  8. jQuery 设置图片 src 的2种方法

    // 方法1 $('#imgValidateCode').attr("src", data.CodeUrl); // 方法2 var self = $("#refresh ...

  9. 洛谷P3312 [SDOI2014]数表(莫比乌斯反演+树状数组)

    传送门 不考虑$a$的影响 设$f(i)$为$i$的约数和 $$ans=\sum\limits_{i=1}^n\sum\limits_{j=1}^nf(gcd(i,j))$$ $$=\sum\limi ...

  10. [Xcode 实际操作]七、文件与数据-(18)使用MarkMan与设计师进行心灵沟通

    目录:[Swift]Xcode实际操作 本文将演示MarkMan的使用. 在界面开发过程中,最终的效果和设计稿难免有些出入, 通常是颜色.位置.尺寸方面的偏差,使用MarkMan助你领会设计师的意图. ...