2.2 响应html

第 9 节 / 共 46 节 课程:ThinkPHP
上一节学习了如何响应一个简短的字段,如果我们把上一节的返回内容加入html,如下所示:
public function hello($name = 'World')
{
    return '<h1>'.'Hello ' . $name.'</h1>';
}
那么显示的内容就有了h1的效果,也就是最大标题:
于是直接返回一段html代码也是可能的了。但是,我们不可能在返回写过于复杂的html,于是就需要预先把html文件写好,然后返回这个html文件。
1.首先在view文件夹下,创建demo文件夹,然后建立文件hello.html,
代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>欢迎页面</title>
</head>
<body>
    <h1>欢迎您的到来!</h1>
</body>
</html>

2.修改Demo/hello函数
public function hello()
{
    return view('hello');
}

代码解释。这里返回的是view('hello'),view函数会自动匹配html文件,查找规则为:模板文件命名规则:控制器名(小写)/操作名(小写).html,因此会渲染 view/demo/hello.html(注意:实际目录名 Demo在模板中通常转换为小写 demo,除非修改了配置)。

3.测试
访问localhost/hello,这个时候,应该显示的是上面的hello.html

4.进阶
使用base.html模板。
base.html位于view/public文件夹下,它的作用是规定上中下的结构,而上面和下面的内容已经固定,中间内容由使用的html文件填入。如下图的76行代码,
那么使用者(某个html),只需要类似这样:
代码解释:
1.第1行是引用该base.html文件
2.第3行是开始中间内容,这部分内容(可能有非常多html代码)将填入base.html的76行

现在你们来试试吧