创建模板
### View模板
在MVC模式中,V即View,也就是模板(视图);它主要用于显示最终的数据处理结果。
#### 模板的配置
在config目录的Config.php文件中,可以对模板自由配置,配置文件是一个数组。元素如下:
<?php
return array (
'domain' => '程序域名',
'mobile_view' => 'phone',
'computer_view' => 'phone',
'chinese_php' => true,
'extend_php' => true,
'url_rewrite' => 0,
'url_explode' => '/',
'cache_type' => 'file',
'image_size' => '2048',
'video_size' => '100000',
'file_size' => '20480',
'php_debug' => '1',
'md5_key' => 'ad0151545485ww',
'redis_ip' => '127.0.0.1',
'redis_port' => '6379',
'redis_pass' => '12345',
);`
数组中的mobile_view , computer_view元素分别对应手机模板和电脑模板,其模板位于view目录中。
#### 控制器的创建
程序的模板是在view目录的。
在创建控制器时后缀必须的.tp.php,否则模板引擎识别不到模板文件,导致出错。
#### 模板的使用
在Controller类中,我们提供了value和display这两个方法,value方法主要的目的就是将控制器的变量传递到模板中,而display则是对模板进行解析然后输出。
#### 例子
<?php
namespace app\http\controller;
use Trauben\http\Controller;
class Test extends Controller
{
public function index()
{
$name = 'lujia'; // 控制器变量
$this->value('content', '一段文字'); // 在模板中创建content变量
$this->value('name', $name); // 将name变量传递到模板中
$this->display('test.tp.php'); // 解析test模板
}
}
/view/phone/test.tp.php模板文件:
<!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>Document</title>
</head>
<body>
<b>{$content}</b>
我的名字是{$name}
</body>
</html>
`
执行结果:

## 模板语法
我在框架中定义了一套模板语法,可以极大简化PHP代码,避免混合HTML开发后导致的代码可读性差。
PHP代码中的”\<?php ?>“标签在模板中可以用花括号”{ }“代替
例如 \<?php echo $a ?> 在模板中可以写成 {\$a}
如果你不希望变量被输出或者你在设置变量时,则可以写成:
{php $a = xxxx }
判断循环语句也支持简化
例如 ”\<?php if (xxxx): ?> “ 可以写成 {if xxxxx}