經過以上眾多的準備工作,現在我們已經可以通過 http://localhost/news 來訪問到我們的 NewsController 控制器的indexAction 對應的模板了。在訪問地址前我們先將之前文件 `/module/Application/src/Application/Controller/NewsController.php` 中的indexAction 函數進行一些修改。具體修改如下:
~~~
public function indexAction(){
$view = new ViewModel();
return $view;
}
~~~
講解:
$view = new ViewModel() 實例化一個視圖模型,視圖模型前面已經講解,主要是用來解析模板
return $view 將視圖模型返回給前端控制器
現在可以通過 http://localhost/news 來打開我們的網頁了,這時我們的頁面應該顯示如下類似表格:
header
Welcome to ZF2 world
footer
這個表格就是我們在 index.phtml模板中編寫的表格。但為什么會在 Welcome to ZF2 world 的上面出現header,下面出footer 呢?其實header和footer 是由我們的layout 布局模板所產生的,前面在講解布局模板文件的時候我們有說到我們的布局是 “上-中-下“這樣的一個結構;header 就是表示我們將來的導航條,footer 就是表示我們將來的版權信息。
通過上面的代碼可以看出 $view 視圖模型并沒有指定使用的模板文件,但ZF2卻能夠準確的找到 index.phtml模板文件。這是因為ZF2的默認模板搜索機制就是直接查找對應模塊下的視圖目錄,然后再根據模塊配置信息(module.config.php)來搜索相關目錄。其完整的搜索模式如下:
* 先到達模塊下的視圖目錄
* 根據控制器名稱在視圖目錄找與控制器名稱相同的視圖子目錄
* 根據action名稱最終在視圖子目錄下找到與action名相同的模板文件
如果只是需要訪問一個默認的模板文件的話,還有一個更簡單的方式,就是在Action 函數里什么也不寫直接一個空函數,這樣控制器也可以根據框架的默認模板使用規則找到對應的模板。那當然你也可以通過$view視圖模型來指定你想使用的視圖模板。
以上內容就是關于視圖模板使用的主要內容,模板樣式可以根據自已或用戶的需求進行各種各樣的定制,可以把UI模板做得豐富多彩、漂亮。
- 序言
- 第1章 Zend Framework2 簡介
- 1.1 Zend Framework2 簡介
- 1.2 下載安裝
- 1.3 搭建開發環境
- 第2章 創建ZF2項目
- 2.1 新建一個項目
- 2.2 配置網站
- 2.3 偽靜態 .htaccess文件
- 2.4 添加啟動/入口文件
- 2.5 添加全局配置文件
- 2.6 添加自動加載文件 init_autoloader.php
- 2.7 IndexController 控制器
- 第3章 創建模塊文件
- 3.1 Module 文件
- 3.2 module.config 文件
- 3.2.1 router 路由配置
- 3.2.2 controllers控制器配置
- 3.2.3 view_manager 視圖管理器
- 3.2.4 service_manager 服務管理器
- 3.2.5 translator 翻譯器
- 3.2.6 navigation 導航條
- 第4章 創建控制器
- 4.1 控制器簡介
- 4.2 新建控制器
- 4.3 添加控制器的Action
- 第5章 創建視圖模板
- 5.1 創建模板
- 5.2 模板配置
- 5.3 編寫布局和錯誤異常模板
- 5.4 編寫Action 對應的模板文件
- 5.5 訪問 IndexAction
- 第6章 創建模型
- 6.1 ORM 對象映射法
- 6.2 使用分頁導航
- 6.3 自定模型
- 6.4 章節總結
- 第7章 實例應用
- 7.1 建立Album 模塊
- 7.2 添加模塊文件
- 7.3 添加模塊配置文件
- 7.4 創建數據表 album
- 7.5 添加模型文件
- 7.6 添加表單 AlbumForm
- 7.7 添加控制器 AlbumController
- 7.8 添加模板文件
- 第8章 用戶認證
- 8.1 建立數據表
- 8.2 新建認證類
- 8.3 引用認證類
- 第9章 結束語