模板变量
{{$name}} @{{$name}} //后面一个直接显示{{$name}}
{{$name or ‘zoojoo’}} //如果$name为null 则显示zoojoo
$str=””;
{{$str}} //直接打印内容不会执行脚本,进行了转义
{!!$str!!} //执行脚本,不转义
2、模板流程控制
@if() @elseif() @else @endif
@unless() @endunless
@for($i=0;$i<10;$i++) @endfor
@foreach($data as $k=>$v) @endforeach
@forelse($data as $k=>$v) @empty @endforelse
3、模板布局
主页面
resources/views/layouts/master.blade.php中
@yield('content')
子页面resources/views/child.blade.php中
@extends('layouts.master')
@section('content')
This is my body content.
@endsection
@yield(‘content’)可以用以下替代
@section(‘content’)
主页面内容默认值
@show
这时在子页面中定义的@section(‘content’)相当于重写了这个section,在子页面中可以用@parent调用默认值
页面中还可以:@include(‘menu.blade.php’)
所有父级视图中变量在被包含的子视图中依然有效。
模板中的路径:asset(‘从根目录往下的路径’),url(‘从根目录往下的路径’),好像这两个差不多,感觉直接用'/public/style/css/common.css'这个不是更简单吗
示例
common.blade.html
{{config("website.sitename")}}
@yield('content')
index.blade.html
@extends("layout.admin")
@section("content")
@include('public')
@yield("menu")
@include("bottomMenu")
@endsection
public.blade.html
@section("menu")
@endsection
@section("menu2")
@endsection
因为@yield("menu"),所以显示的是section('menu'),其中的变量如:{{$cat->name}}仍可以正常显示。