经过以上众多的准备工作,现在我们已经可以通过 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章 结束语