ThinkPHP-视图的使用和渲染(三)

2023-05-02 18:33:42 浏览数 (2)

视图的示例

下面是一个简单的示例,演示了如何使用视图类来加载模板文件、传递变量数据、设置布局文件和输出页面内容。

控制器代码

代码语言:javascript复制
namespace appindexcontroller;

class Index
{
    public function index()
    {
        $view = new thinkView();
        $view->assign('name', 'ThinkPHP');
        $view->assign('version', '5.3');
        $view->layout('layout');
        return $view->fetch();
    }
}

上面的代码中,我们在控制器中创建了一个视图类实例,然后传递了两个变量(name和version)到模板中,并设置了布局文件为layout.html。

模板文件

代码语言:javascript复制
<!-- layout.html -->
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>{$title|default='ThinkPHP'}</title>
</head>
<body>
    <div id="header">
        <!-- 头部内容 -->
    </div>
    <div id="content">
        {$__CONTENT__}
    </div>
    <div id="footer">
        <!-- 底部内容 -->
    </div>
</body>
</html>

<!-- index.html -->
{$name} - {$version}

上面的代码中,我们定义了一个布局文件layout.html和一个模板文件index.html。在布局文件中,我们设置了页面标题和页面结构,并使用{$CONTENT}变量来表示插入的内容。在模板文件中,我们输出了传递过来的两个变量。

输出结果

访问控制器的index方法后,将会输出以下HTML代码:

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ThinkPHP</title>
</head>
<body>
    <div id="header">
        <!-- 头部内容 -->
    </div>
    <div id="content">
        ThinkPHP - 5.3
    </div>
    <div id="footer">
        <!-- 底部内容 -->
    </div>
</body>
</html>

在输出结果中,我们可以看到使用了布局文件layout.html,其中页面标题被设置为'ThinkPHP',页面内容被插入到布局文件的内容部分中,并且传递的两个变量也被成功输出到页面中。

0 人点赞