[TOC]
### 组件说明
> View组件用于渲染视图模板。
### 配置选项
| 配置名 | 参数类型 | 可选 | 默认值 | 说明 |
| --- | --- | --- | --- | --- |
| class | string | 是 | lying\view\View | 不可更改 |
| suffix | string | 是 | html | 模板文件的后缀名,如果此项设置为php,表示用php模板,否则用内置模板引擎 |
| cache | string | 是 | template | 模板缓存组件ID |
### 示例配置
~~~php
//缓存组件(用于模板缓存)
'tplCache' => [
'class' => 'lying\cache\FileCache', //必须是文件缓存
'dir' => DIR_RUNTIME . DS . 'compile',
'gc' => 80,
'suffix' => 'php',
'serialize' => false,
],
//视图设置
'view' => [
'class' => 'lying\db\Cookie', //view为核心组件,所以此项可不写
'suffix' => 'html',
'cache' => 'tplCache', //此参数一般情况下不比配置,使用默认的即可
],
~~~
### 调用方式
~~~php
\Lying::$maker->get('view');
\Lying::$maker->view();
\Lying::$maker->view;
~~~
### 方法列表
~~~php
/**
* 渲染模板
* @param string $view 模板
* @param array $params 模板参数
* @param Controller $context 上下文
* @return string 返回渲染后的模板
*/
public function render($view, $params, Controller $context = null);
~~~
* * * * *
~~~php
/**
* 渲染模板文件
* @param string $file 模板文件绝对路径
* @param array $params 模板参数
* @param Controller $context 上下文
* @return string 返回渲染后的模板
*/
public function renderFile($file, $params, Controller $context = null);
~~~
*****
~~~php
/**
* 渲染php模板
* @param string $file 模板文件
* @param array $params 模板参数
* @return string 返回渲染结果
* @throws \Throwable|\Exception
*/
public function renderPhp($file, $params);
~~~
*****
~~~
/**
* 解析视图路径
* @param string $view 解析的视图
* @param Controller $context 上下文
* @return string 返回视图文件的绝对路径
* @throws \Exception 文件不存在抛出异常
*/
public function resovePath($view, Controller $context = null);
~~~
### 使用示例
~~~php
<?php
namespace module\index\controller;
use lying\service\Controller;
/**
* Class IndexCtrl
* @package module\index\controller
*/
class IndexCtrl extends Controller
{
/**
* 首页
* @return string
*/
public function index()
{
//更多的输出方式
$view = $this->maker->view;
//输出渲染后的页面
//return $view->render('/www/project/tpl.html', ['name'=>'lying']);
//return $view->render('index', ['name'=>'lying'], $this); //带有context
//return $view->renderFile('/www/project/tpl.html', ['name'=>'lying']);
//根据context返回视图文件的绝对路径,如果没有context,则返回带后缀的文件名
echo $view->resovePath('abc', $this);
}
}
~~~
- 序言
- 更新日志
- 安装
- 规范
- 常量
- 配置
- 自动加载
- MVC
- 模块
- 控制器
- 模型
- 视图
- php原生模板
- 模板引擎
- 变量输出
- 模板注释
- 模板继承
- 模板引用
- 流程控制
- 原样输出
- 服务组件
- Hook组件
- Request组件
- Router组件
- Cookie组件
- Encrypter组件
- Dispatch组件
- Response组件
- View组件
- Session组件
- Helper组件
- 数据分页
- 数据验证
- Logger组件
- Cache组件
- Redis组件
- Connection组件
- 执行sql语句
- 查询生成器
- 查询方法详解
- Schema
- Captcha组件
- CLI
- CLI工具
- 事件
- 类事件
- 实例事件
- 全局事件
- 助手函数
- 扩展
- 异常
- 部署
- Apache
- Nginx
- IIS
- 虚拟主机