[TOC]
### 模板引擎
rapphp 不自带模板引擎,如果你需要使用模板引擎,但是 rapphp可以和其他模板引擎搭配使用;
### 控制器里的写法
方法最后返回一个字符串就可以了, 正常是模板文件的相对路径
~~~
class TestController
{
public function test()
{
$response=response();
$response->assign('title', '网页标题');
$response->assign('data1', '数据1');
$response->assign('data2', '数据2');
return '/a/index';
}
}
~~~
### 使用 Twig模板引擎
很多模板引擎的实现和 swoole是不兼容的(变量被注册到了全局),特别是国内常用的 smarty 是不能使用的.
这里推荐使用 twig 模板引擎,写法简单,拓展强,和 swoole兼容
官网
[https://twig.symfony.com/](https://twig.symfony.com/)
中文文档
[https://www.kancloud.cn/yunye/twig-cn/159454](https://www.kancloud.cn/yunye/twig-cn/159454)
#### 实现View接口
~~~
class TwigView implements View {
private $twig;
public function __construct($config) {
$loader = new \Twig_Loader_Filesystem(ROOT_PATH);
$this->twig = new \Twig_Environment($loader);
//这里对twig进行初始化配置
}
public function fetch($tpl, $data) {
//这里写你的实现
return "html";//返回html文本
}
}
~~~
需要实现fetch方法
$tpl 你代码返回的字符串 正常是模板文件的相对路径
$data 你代码需要渲染的数据数组
对照上面的例子
~~~
$tpl='/a/index';
$data=['title'=>'网页标题','data1'=>'数据1','data2'=>'数据2'];
~~~
最后记得返回你的 html 文本就可以了
#### View注册
~~~
class AppInit implements Init {
public function appInit(AutoFindHandlerMapping $autoMapping, Router $router) {
Ioc::bind(View::class,TwigView::class);
}
}
~~~
- 序言
- 开始
- 安装 RapPhp
- 应用目录
- 配置文件
- 入口类
- MVC架构
- 控制器基础
- 前置方法
- 拦截器
- 动态路由
- Request和Response
- Cookie和Session
- 模板引擎
- 请求缓存
- 流程图
- 数据库
- 基础使用
- 查询语法
- 查询操作
- where
- order
- limit
- lock
- fields
- join
- distinct
- having
- group
- force
- 查询方法
- 多数据源
- 数据库类型
- Record模型
- 使用Record
- 增删改
- 查找方法
- 数据类型
- 基本类型
- JSON 数据类型
- time
- date
- attach
- const
- 迭代操作
- record 更多方法
- 注入与转json
- 多级缓存
- 多数据源
- 模型生成
- 回调事件
- IOC控制反转
- Ioc基础概念
- 依赖注入
- Scope作用域
- 构造器
- 循环依赖
- AOP面向切面
- AOP使用
- 切面
- AopBuild
- 生成 aop 文件
- 事件勾子
- 执行循序
- Swoole
- Http服务器
- 用户进程
- Context上下文(重要)
- 协程
- 特色功能
- 限流器
- 连接池
- 数据库连接池
- Redis 连接池
- 通用连接池
- Rpc 远程调用
- Rpc服务提供方
- Rpc客户端
- 熔断器与服务降级
- Redis 分布式锁
- 其他功能
- 缓存
- redis
- 文件存储
- 存储简介
- 本地存储
- OSS存储
- 配置
- 日志
- 验证器
- FileUtil
- 数组Util
- Http工具
- 多语言
- 命令行
- 使用命令行
- 生成模型文件
- AOP动态文件生成
- swoole_http服务器
- 自定义命令行
- 异常与调试
- 异常抛出
- 异常处理
- 部署
- URL重写
- DOCKER 镜像(重要)
- 附录
- 回调事件
- 开发规范
- Swoole开发注意点
- 热点行更新排队机制
