亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜索
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴展框架的核心 自動裝載資源 公共函數(shù) URI 路由 錯誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準(zhǔn)測試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測試類 URI 類 User-Agent 類 表單驗證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫類 Active Record 類 數(shù)據(jù)庫緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫配置 連接你的數(shù)據(jù)庫 數(shù)據(jù)庫快速入門例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫維護類 查詢輔助函數(shù) 數(shù)據(jù)庫類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
文字

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請 登錄 或 注冊  找回密碼
查看原文

模板解析器類

模板解析器類可以解析你的視圖文件中的偽變量。它可以解析簡單的變量或者以變量作為標(biāo)簽的結(jié)構(gòu)。如果你以前沒有用過模板引擎,那么偽變量如下所示:

<html>
<head>
<title>{blog_title}</title>
</head>
<body>

<h3>{blog_heading}</h3>

{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}
</body>
</html>

這些變量不是標(biāo)準(zhǔn)的PHP變量,但是這樣的以文本形式展現(xiàn)可以讓你很容易地區(qū)分出它與PHP變量的不同之處。

注意:因為在視圖文件中使用純PHP要快一些,所以CodeIgniter 要求你一定要用這個類。然而,有一些開發(fā)者和對使用PHP有困難的設(shè)計師一同工作時,更愿意使用模板引擎。

Also Note: 模板解析類不是一個完善的模板解析方案。為了保持最高性能,我們的模板解析類非常精簡。

類的初始化

如同CI中的其他類, 使用$this->load->library 函數(shù)在控制器中初始化模板解析類:

$this->load->library('parser');

一旦加載,模板解析類可以這樣使用: $this->parser

下面的函數(shù)在庫中可用:

$this->parser->parse()

這個方法接收一個模板名和數(shù)據(jù)數(shù)組作為輸入,生成一個解析過的版本。例如:

$this->load->library('parser');

$data = array(
????????????'blog_title' => 'My Blog Title',
????????????'blog_heading' => 'My Blog Heading'
????????????);

$this->parser->parse('blog_template', $data);

第一個參數(shù)包含視圖文件的文件名(在這個例子中是blog_template.php), 第二個參數(shù)包含一個用于模板替換的相關(guān)數(shù)組。 在上面的例子中,這個模板包含兩個變量:{blog_title} 和 {blog_heading}

不用“echo”或處理$this->parser->parse()返回的數(shù)據(jù)。他會自動傳送數(shù)據(jù)到output類最終輸出到瀏覽器。然而,如果你想返回數(shù)據(jù)而不是發(fā)送到output類,你可以使用TRUE(布爾值)作為第三個參數(shù)。

$string = $this->parser->parse('blog_template', $data, TRUE);

$this->parser->parse_string()

This method works exactly like parse(), only accepts a string as the first parameter in place of a view file.

變量對

上面的示例代碼中演示簡單變量的替換。如果你想要替換整個塊的變量,這個塊的每行都包含新值?想象一下在頁面最頂端我們展示的例子:

<html>
<head>
<title>{blog_title}</title>
</head>
<body>

<h3>{blog_heading}</h3>

{blog_entries}
<h5>{title}</h5>
<p>{body}</p>
{/blog_entries}
</body>
</html>

在上面的代碼中你會注意到一對變量: {blog_entries} 數(shù)據(jù)…… {/blog_entries}。 像這樣,在這對變量中間的數(shù)據(jù)將會被多次替換,替換的次數(shù)取決于結(jié)果集的行數(shù)。

除了要根據(jù)你的數(shù)據(jù)提供一個多維數(shù)組以外,變量對的解析代碼和單個變量的解析代碼相同。參考下面的例子:

$this->load->library('parser');

$data = array(
??????????????'blog_title'?? => 'My Blog Title',
??????????????'blog_heading' => 'My Blog Heading',
??????????????'blog_entries' => array(
??????????????????????????????????????array('title' => 'Title 1', 'body' => 'Body 1'),
??????????????????????????????????????array('title' => 'Title 2', 'body' => 'Body 2'),
??????????????????????????????????????array('title' => 'Title 3', 'body' => 'Body 3'),
??????????????????????????????????????array('title' => 'Title 4', 'body' => 'Body 4'),
??????????????????????????????????????array('title' => 'Title 5', 'body' => 'Body 5')
??????????????????????????????????????)
????????????);

$this->parser->parse('blog_template', $data);

如果你的“數(shù)據(jù)對”來自數(shù)據(jù)庫的查詢,那么它已經(jīng)是一個二維數(shù)組,你可以輕松的使用數(shù)據(jù)庫 result_array() 函數(shù):

$query = $this->db->query("SELECT * FROM blog");

$this->load->library('parser');

$data = array(
??????????????'blog_title'?? => 'My Blog Title',
??????????????'blog_heading' => 'My Blog Heading',
??????????????'blog_entries' => $query->result_array()
????????????);

$this->parser->parse('blog_template', $data);

?

翻譯貢獻者: buttonfly, Hex, lishen2, lomatus
最后修改: 2011-02-01 01:51:47
上一篇: 下一篇: