局部页面的位置 resources/views/XXX/BBB.blade.php
在主体页面直接写入要调用的局部页面
@include('xxx.bbb')
主体页面负责提供数据并渲染整体效果,向加载的局部页面提供数据
访问:主体页面
模版页面的位置 resources/views/XXX/BBB.blade.php
模版页面提供整体页面效果,不提供数据源
局部页面调用模版页面后,向模版页面提供数据及局部样式
访问:局部页面
方法一:代码块组合
@section(’xxx块名‘)选择性代码@show
方法二:变量名
@yield(’xxx块名‘)
模版中可定义多个信息位置,用块名区分
第一行写入要继承的母版:xxx 路径名,bbb 文件名,不需要扩展名
@extends ('XXX.BBB');
定义要写入的信息,用块名区分
@section ('xxxx块名')@parent 是否要保留母模版内的选择性代码块局部代码信息@endsection
以上信息都可以被 @yield 和 @section + @show 组合引用, @section + @show 可以选择保留部分代码,@yield 直接替换
样例如下:
模版页面:lout\index.blade.php
<head><meta charset="UTF-8"><title>@yield('list1')</title></head><body>@include('lvio\header'){{-- -infolist --}}<div><div>@section ('list0')<div>@show</div>/</div></body>
局部页面:listmov.blade.php
@extends('lout.index');@section ('list0')@foreach ($mov_data as $mv)@parent //保留模版中的代码,放在下面代码前渲染<img style="height:15rem" src="\img\{{ $mv['img'] }}" alt="..."><div><h5>{{ $mv['mov_name'] }}</h5><h6>@foreach ($dir_data as $dv)@if ($dv['mid']==$mv['mid']){{ $dv['d_name'].' 作品' }}@endif@endforeach@foreach ($con_data as $cv)@if ($cv['cid']==$mv['cid']){{ ' '.$cv['cont']}}@endif@endforeach</h6><p>{{ $mv['title'] }}</p><a href="#" ">了解更多</a></div></div>@endforeach@endsection@section ('list1')中国电影@endsection
模版中inculde的子页面:lvio\header
{{--hearder--}}<div><h5>电影列表</h5><nav>@foreach ($con_data as $v)<a>{{ $v['cont'] }}</a>@endforeach</nav></div>
访问: listmove 页面 会加载 index模版页面, index模版页面会include header页面
数据全部由 listmove 页面提供
效果图
在blade 模版中 可以通过 @ 符 调用php的原代码
if判断 用@endif 结束 中间的输出用 {{}} 输出
@if ($cv['cid']==$mv['cid']){{ ' '.$cv['cont']}}@endif
foreach循环 用@endforeach 结束
@foreach ($con_data as $v)<a>{{ $v['cont'] }}</a>@endforeach
php原生代码 用@endphp 结束
@php$i=1;@endphp
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号