## 模板继承
#### 当有多个页面结构相同,可以使用`Extend` `block`模板继承功能来帮你更方便的进行开发。
父级模板文件`Home/Index/layout.html`
使用`block`来设定子模板可以覆盖的内容,如果子模板不包含此`block`,将会使用父级模板自带的内容.
```
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{block 'title'}这是默认的title{/block}</title>
</head>
<body>
{block 'body'}这是默认的body{/body}
</body>
</html>
```
子模板文件`Home/Index/index.html`
```
<!-- 这里的简写方式和URL相同 -->
{extend '@layout'}
{block 'title'}首页{/block}
{block 'body'}内容{/block}
{/extend}
```
#### 渲染出的内容
```
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>首页</title>
</head>
<body>
内容
</body>
</html>
```
- 项目安装
- 开发前必读
- 配置项目
- 基础配置
- 数据库配置
- 路由基础配置
- 调试的基础配置
- 文件上传配置
- 命令行配置
- 缓存配置
- 视图配置
- 视图默认变量
- 配置的读取和使用
- 钩子的配置
- 路由
- 默认的路由
- 以配置文件设置路由规则
- 以Annotation形式设置路由
- URL生成
- 控制器
- 创建一个控制器
- 视图渲染
- 数据库
- 简述
- 创建一个数据库模型
- 链式操作
- 数据查询
- 更新数据
- 插入数据
- 删除数据
- 事务操作
- 高级功能
- 字段验证
- 增加一个验证规则
- 自带的验证规则
- 验证规则的使用
- 自动判断规则
- 数据分表
- 数据分表准备
- 视图
- 视图实例
- 自定义模板标签
- 输出变量
- 判断语法
- 遍历循环
- 使用函数
- 原样输出
- 模板引用
- 模板继承
- 引入资源
- 原生PHP标签
- 自定义模板引擎规则
- 钩子
- 行为
- 过滤器
- 监听
- 缓存
- 缓存的配置
- 设置缓存
- 读取缓存
- 删除缓存
- 命令行
- 命令行的使用
- 自定义命令行Handler