laravel 模板继承

继承不仅在PHP类中实现,在视图中同样存在,一般用做公共部分的页面
php父类中的方法能能在子类中重写


案例:(在视图里)编辑父类页面,再编写子类,测试继承关系


(1)先在resources/views/建立一个父文件,parent.blade.php
父类里写上页面的头部内容,和尾部内容,中间可变内容,用@yield(‘zhengwen’)连接子类中的

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>父类</title>

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">

        <!-- Styles -->
        <style>
            .header,.footer{
                width: 100%;
                height: 40px;
                background-color: aquamarine;
            }

        </style>
    </head>
    <body>
<!-- 编辑父类页面,再编写子类 -->
<div>
    <h1 class="header">头部导航</h1>
</div>
<!-- 可变区域 -->
@yield('zhengwen')
<!-- 可变区域 -->
<div>
    <h2 class="footer">底部信息</h2>
</div>
    </body>
</html>

(2)再resources/views/建立一个子文件,child.blade.php
在子类中用 @extends(‘parent’)继承父类,parent是父类的名字

<!--用@section重写方法,里面的方法名,必须和父类中@yield(),里的方法名必须保持一致,并且是唯一的-->
  @section('zhengwen')
    <div class="body">
      杰克丹尼军错女女女女女女女女女女女女女
    </div>
    <!--用@endsection结束重写方法-->
    @endsection
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>子类</title>

        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">

        <!-- Styles -->
        <style>

        </style>
    </head>
    <body>
    <!-- 继承的父类是parent -->
    @extends('parent')
    <!-- 重写的方法 -->
    @section('zhengwen')
    <div class="body">
      杰克丹尼军错女女女女女女女女女女女女女
    </div>
    @endsection
    </body>
</html>

(3)定义控制器方法:

public function parenttest(){
    return view('child');
}

(4)定义路由

Route::get('parent','TestController@parenttest');

效果图在这里插入图片描述
还可以引入模板:
引用模板,(控制器里的),文件名不含后缀,引入静态变量,在引入模板的时候,不要引入带有变量的,会报错
用@include来引入。。。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值