
- Phalcon 教程
- Phalcon - 首頁
- Phalcon - 概述
- Phalcon - 環境搭建
- Phalcon - 應用結構
- Phalcon - 功能
- Phalcon - 配置
- Phalcon - 控制器
- Phalcon - 模型
- Phalcon - 檢視
- Phalcon - 路由
- Phalcon - 資料庫連線
- Phalcon - 切換資料庫
- Phalcon - 腳手架應用
- Phalcon - 查詢語言
- Phalcon - 資料庫遷移
- Phalcon - Cookie 管理
- Phalcon - Session 管理
- Phalcon - 多語言支援
- Phalcon - 資源管理
- Phalcon - 表單操作
- Phalcon - 物件文件對映器 (ODM)
- Phalcon - 安全特性
- Phalcon 有用資源
- Phalcon - 快速指南
- Phalcon - 有用資源
- Phalcon - 討論
Phalcon - 檢視
檢視是呈現給終端使用者的資訊。檢視可以被認為是一個網頁,包含了要顯示的適當響應。響應透過與模型互動的控制器接收。
具體來說,在 Phalcon 中,檢視由 Volt 程式碼、PHP 和 HTML 組成。可以使用一組特殊的定界符進入 Volt 模式。{% ... %} 用於執行語句,例如 for 迴圈或賦值,而 {{ ... }} 將表示式的結果列印到模板中。
Phalcon 中的檢視基本上分為兩種型別:
- Volt
- phtml
Volt
以下是我們在上一章中為專案demo1建立的輸出截圖。

此輸出是藉助檔案views/index/index.volt實現的。
Volt 檔案的特點
它是一個用 C 語言編寫的模板,與其他語言相比速度相當快。
它包含一組高度整合的元件,在 Phalcon 中非常有用。
它也可以用作獨立元件。
Volt 編譯成純 PHP 程式碼。
以下是index.volt的程式碼,它在任何專案中預設載入。
<!--<div class = "page-header"> <h1>Congratulations!</h1> </div>--> <p>This is my first web application in Phalcon </p> <!--<p>You're now flying with Phalcon. Great things are about to happen!</p> <p>This page is located at <code>views/index/index.volt</code></p>-->
分層渲染
Phalcon 中的檢視支援分層渲染,Phalcon\Mvc\View用作預設渲染元件。與使用 C 作為模板語言的 Volt 檔案相比,此元件使用 PHP 作為模板引擎。
這些檢視應具有.phtml副檔名。給定專案的檢視的預設目錄包含以下三個檔案:
動作檢視 - 此檢視用於執行特定操作。當執行“show”操作時呼叫它。
控制器佈局 - 此檢視位於 layouts 資料夾內。例如,C:\xampp\htdocs\demo\app\views\layouts。它呼叫與相應控制器關聯的方法呼叫。佈局中實現的程式碼將在需要時實現。
主佈局 - 此佈局檢視將呼叫主要操作,並將顯示 web 應用程式中的每個控制器或操作。
.volt 和 .phtml 檔案的區別
.volt | .phtml |
---|---|
當應用程式中設定的模板引擎是用 C 編寫的時,使用 .volt 副檔名。 | .phtml 用於模板引擎是 PHP 本身的情況。 |
它可以用作獨立元件。 | 它不能用作獨立元件。 |
Volt 檢視編譯成 PHP 程式碼。 | phtml 檔案本身包含 PHP 程式碼,因此在 Phalcon 框架中不需要編譯。 |
變數
使用 'set' 在模板中賦值和更改變數。
宣告陣列
{% set fruits = ['Apple', 'Banana', 'Orange'] %}
宣告字串
{% set name = ”John Kennedy” %}
註釋
也可以使用{# ... #}定界符向模板添加註釋。最終輸出中忽略它們內部的所有文字。
{# note: this is a comment {% set price = 100; %} #}
示例
{% set fruits = ['Apple', 'Banana', 'Orange'] %} <h1>Fruits</h1> <ul> {% for fruit in fruits %} <li>{{ fruit|e }}</li> {% endfor %} </ul> {% set robots = ['Voltron', 'Astro Boy', 'Terminator', 'C3PO'] %} <ul> {% for robot in robots %} <li>{{ robot }}</li> {% endfor %} </ul>
輸出
程式碼將產生以下輸出螢幕:
