牛骨文教育服务平台(让学习变的简单)

extends

extends为继承指令,一般项目中, 我们的网页框架是一样的, 比如新闻介绍页, 文章介绍页, 文章列表页, 等等 都是公用的头部底部和侧边栏, 又或者做后台的时候, 都是统一的导航菜单和底部, 这时候我们可以使用模板继承方便的实现代码的重用和结构的划分

1. base.html

<!DOCTYPE html>
<html>
    <head>
        <title>base</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div php-block="left">这里是left, 会被替换</div>
        <div php-block="right">这里是right, 会被替换</div>
        <div php-block="bottom">这里是bottom, 会被替换</div>
    </body>
</html>

2. index.html

<div php-extends="common/base"></div>
<div php-block="left">
    网页主体
</div>

<div php-block="right">
    侧边栏推荐
    
    <ul>
        <li php-repeat="[1,2,3,4,5] as $i">列表 {$i}</li>
    </ul>
</div>

<div php-block="bottom">
    版权所有 {$username} 
</div>

这样模板引擎调用解析 index.html的时候会把对应的block合并到base.html中, 实现模板的继承

解析结果

<!DOCTYPE html>
<html>
    <head>
        <title>base</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <div >
    网页主体
</div>
        <div >
    侧边栏推荐
    
    <ul>
        <?php foreach ([1,2,3,4,5] as $i) { ?><li >列表 <?php echo $i; ?></li><?php } ?>
    </ul>
</div>
        <div >
    版权所有 <?php echo $username; ?> 
</div>
    </body>
</html>