- 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 - ListView 小部件
- Yii - GridView 小部件
- Yii - 事件
- Yii - 建立事件
- Yii - 行為
- Yii - 建立行為
- 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 - 格式化
要以易於閱讀的格式顯示資料,可以使用formatter應用程式元件。
步驟1 - 將actionFormatter方法新增到SiteController中。
public function actionFormatter(){
return $this->render('formatter');
}
在上面的程式碼中,我們只是渲染了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 - 訪問https://:8080/index.php?r=site/formatter,您將看到以下輸出。
formatter元件支援以下與日期和時間相關的格式 -
| 輸出格式 | 示例 |
|---|---|
| 日期 | 2016年1月1日 |
| 時間 | 16:06 |
| 日期時間 | 2016年1月1日 16:06 |
| 時間戳 | 1512609983 |
| 相對時間 | 1小時前 |
| 持續時間 | 5分鐘 |
步驟4 - 以這種方式修改formatter檢視。
<?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 - 在網頁瀏覽器的位址列中輸入https://:8080/index.php?r=site/formatter,您將看到以下輸出。
日期格式
還有四個日期格式快捷方式:short、medium、long和full。
步驟1 - 以這種方式修改formatter檢視檔案。
<?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 - 如果您訪問網頁瀏覽器並輸入https://:8080/index.php?r=site/formatter,您將看到以下輸出。
數字格式
formatter元件支援以下與數字相關的格式 -
| 輸出格式 | 示例 |
|---|---|
| 整數 | 51 |
| 小數 | 105.51 |
| 百分比 | 51% |
| 科學計數法 | 1.050000E+2 |
| 貨幣 | $105 |
| 大小 | 105 位元組 |
| 簡短大小 | 105 B |
步驟1 - 以這種方式修改formatter檢視。
<?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 - 訪問https://:8080/index.php?r=site/formatter,您將看到以下輸出。
其他格式
Yii 還支援其他格式 -
text - 值將進行 HTML 編碼。
raw - 值將按原樣輸出。
paragraphs - 值將格式化為 HTML 文字段落,幷包裝在p標籤中。
ntext - 值將格式化為 HTML 純文字,其中換行符將轉換為換行符。
html - 使用 HtmlPurifier 對值進行淨化,以避免 XSS 攻擊。
image - 值將格式化為影像標籤。
boolean - 值將格式化為布林值。
url - 值將格式化為連結。
email - 值將格式化為 mailto 連結。
formatter 可以使用當前活動的區域設定來確定如何為特定國家/地區格式化值。
以下示例顯示如何為不同的區域設定格式化日期。
<?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');
?>