ThinkPHP通过视图继承和布局功能实现页面结构统一,减少重复代码。1. 使用<extend>和<block>标签可实现模板继承,子模板重写父模板内容块;2. 借助topthink/think-layout扩展可快速实现布局功能,通过View::layout()指定公共布局文件;3. 控制器中直接返回view()即可自动解析继承关系,生成完整页面。

ThinkPHP 的视图继承和布局功能可以帮助开发者统一页面结构,减少重复代码,特别适合构建具有相同头部、尾部或侧边栏的后台管理系统或网站前台。下面介绍如何在 ThinkPHP(以 ThinkPHP 6 为例)中使用这两个功能。
ThinkPHP 本身不内置“布局”功能,但可以通过 extend 模板引擎的标签来实现类似效果,或者使用第三方扩展。不过更推荐的方式是使用原生的模板继承机制来模拟布局。
如果你希望快速使用布局功能,可以借助
topthink/think-layout
composer require topthink/think-layout
use think\facade\View;
View::layout('layout');view/layout.html
立即学习“PHP免费学习笔记(深入)”;
<!DOCTYPE html>
<html>
<head>
    <title><block name="title">默认标题</block></title>
</head>
<body>
    <header>公共头部</header>
<pre class='brush:php;toolbar:false;'><block name="content">
    <p>默认内容</p>
</block>
<footer>公共底部</footer>zuojiankuohaophpcn/body> </html>
然后在具体页面模板中:
<extend name="layout" />
<block name="title">用户列表</block>
<block name="content">
    <h1>这是用户列表页</h1>
    <!-- 具体内容 -->
</block>
ThinkPHP 使用的是 Think Template 引擎,支持通过
<block>
<extend>
基本语法说明:
<block name="xxx"></block>
<extend name="父模板名"/>
示例:
创建基础模板 
view/base.html
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title><block name="title">首页</block> - 我的网站</title>
</head>
<body class="page-<block name="page-class">home</block>">
    <header>
        <h1>我的网站</h1>
        <nav>导航菜单</nav>
    </header>
<pre class='brush:php;toolbar:false;'><main>
    <block name="main">
        <p>这里是默认主体内容。</p>
    </block>
</main>
<footer>
    <block name="footer">
        © 2025 版权信息
    </block>
</footer></body> </html>
创建子页面
view/user/index.html
<extend name="base" /> <p><block name="title">用户管理</block></p><p><block name="page-class">user-list</block></p><p><block name="main"> <h2>用户列表</h2> <ul> <li>张三</li> <li>李四</li> </ul> </block></p>
渲染后会自动合并结构,生成完整 HTML 页面。
<include file="..." />
在控制器中直接返回视图即可:
class UserController extends Controller 
{
    public function index()
    {
        return view('user/index');
    }
}
框架会自动查找
view/user/index.html
基本上就这些。通过合理使用视图继承,你可以轻松实现一致的页面风格,同时保持模板的灵活性和可维护性。
 
                        
                        PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号