渲染模板
在编写完Hello,World后.我们可以试想一下,如何输出一个html页面.
按照之前直接return字符串一样,我们也可以直接返回html代码.
return '<h1>HELLO,WORLD</h1>';
但是这种并不能应用在我们实际的项目中.
我们可以使用框架自带的助手函数view渲染页面. 也可以使用 View::fetch 方法
<?php
namespace app\controller;
use app\BaseController;
use think\facade\View;
class Index extends BaseController {
public function index() {
return View::fetch();
}
public function index2() {
return view();
}
}
这两种方法都能渲染页面.我们运行起来看看效果. php think run
出现了一个 页面错误!请稍后再试~
的提示. 这里我们得打开调试模式才能看具体报错信息.
我们需要设置一个env
windows命令行下
copy .example.env .env
Mac或Linux
cp .example.env .env
我们打开env可以看一下
APP_DEBUG = true
....
这里已经开启了调试模式. 这个env的作用我们会在后面的文章中做详细介绍.
再次刷新页面
Driver [Think] not supported.
抛出了一个这样的异常. 用过TP5的小伙伴就按耐不住了.这个使用方法还变了? tp5可以直接用的啊.
这里主要是tp6把模板引擎独立成一个扩展了.要自己安装了.
composer require topthink/think-view
当然如果不想安装模板引擎的话可以使用php原生语法渲染. 这里需要改一下配置项
config/view.php
return [
// 模板引擎类型使用Think
'type' => 'Think',
];
把type类型改为 php 就行了.
好啦.又抛出一个新异常了
模板文件不存在: demo\view\index\index.html
这里我们还没定义模板文件,按照框架约定可以把html放到view目录下对应控制器名的对应方法名文件中.
view\index\index.html = view\控制器名\方法名.html
这里的文件后缀名和目录都是可以更改的.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>第一个页面</title>
</head>
<body>
<h1>Hello,World</h1>
</body>
</html>
再次访问,页面中又出现了我们的Hello,World.
No Comments