- Yii 教程
- Yii - 主页
- Yii - 概述
- Yii - 安装
- Yii - 创建页面
- Yii - 应用程序结构
- Yii - 入口脚本
- Yii - 控制器
- Yii - 使用控制器
- Yii - 使用动作
- Yii - 模型
- Yii - 小部件
- Yii - 模块
- Yii - 视图
- Yii - 布局
- Yii - 资产
- Yii - 资产转换
- Yii - 扩展
- Yii - 创建扩展
- Yii - HTTP 请求
- Yii - 响应
- Yii - URL 格式
- Yii - URL 路由
- Yii - URL 规则
- Yii - HTML 表单
- Yii - 验证
- Yii - 临时验证
- Yii - AJAX 验证
- Yii - 会话
- Yii - 使用闪存数据
- Yii - cookie
- Yii - 使用 Cookie
- Yii - 文件上传
- Yii - 格式化
- Yii - 分页
- Yii - 排序
- Yii - 属性
- Yii - 数据提供者
- Yii - 数据小部件
- Yii - 列表视图小部件
- Yii - GridView 小部件
- Yii - 活动
- Yii - 创建事件
- Yii - Behave
- Yii - 创建Behave
- Yii - 配置
- Yii - 依赖注入
- Yii - 数据库访问
- Yii - 数据访问对象
- Yii - 查询生成器
- Yii - 活动记录
- Yii - 数据库迁移
- Yii - 主题化
- Yii - RESTful API
- Yii - RESTful API 的实际应用
- Yii - 字段
- Yii - 测试
- Yii - 缓存
- Yii - 片段缓存
- Yii - 别名
- Yii - 日志记录
- Yii - 错误处理
- Yii - 身份验证
- Yii - 授权
- Yii - 本地化
- Yii-Gii
- Gii – 创建模型
- Gii – 生成控制器
- Gii – 生成模块
- Yii 有用的资源
- Yii - 快速指南
- Yii - 有用的资源
- Yii - 讨论
Yii - 格式化
要以可读格式显示数据,您可以使用格式化程序应用程序组件。
Step1 - 将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,您将看到以下输出。
格式化程序组件支持以下与日期和时间相关的格式 -
输出格式 | 例子 |
---|---|
日期 | 2016 年 1 月 1 日 |
时间 | 16:06 |
约会时间 | 2016年1月1日 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 - 在 Web 浏览器的地址栏中输入http://localhost:8080/index.php?r=site/formatter,您将看到以下输出。
日期格式
还有四种日期格式快捷方式:短、中、长和完整。
步骤 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,您将看到以下输出。
数字格式
格式化程序组件支持以下与数字相关的格式 -
输出格式 | 例子 |
---|---|
整数 | 51 |
小数 | 105.51 |
百分 | 51% |
科学的 | 1.050000E+2 |
货币 | 105 美元 |
尺寸 | 105字节 |
短尺寸 | 105乙 |
步骤 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 还支持其他格式 -
text - 该值是 HTML 编码的。
raw - 该值按原样输出。
paragraphs - 该值的格式为包含在p标记中的 HTML 文本段落。
ntext - 该值被格式化为 HTML 纯文本,其中换行符被转换为换行符。
html - 使用 HtmlPurifier 纯化该值以避免 XSS 攻击。
image - 该值被格式化为图像标签。
boolean - 该值被格式化为布尔值。
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'); ?>