laravel基础学习笔记–Blade 模板
Blade 视图文件都将被编译成原生的 PHP 代码并缓存起来,除非它被修改,否则不会重新编译,这就意味着 Blade 基本上不会给你的应用增加任何负担。 Blade模板
<html>
<head>
<title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
sidebar里面的内容
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
@section 指令定义了片段的内容, @yield 指令则用来显示片段的内容。 @show指令是在定义布局的同时显示出来
继承布局
@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
@parent
<p>向sidebar追加的内容</p>
@endsection
@section('content')
<p>我是被注入的内容</p>
@endsection
@yield 指令还接受一个默认值作为第二个参数。如果被 「yield」的片段未定义,则该默认值被渲染
@yield('title','我是标题')
在blade中使用从路由传递的变量 比如,定义一个路由的同时传递一个变量
Route::get('/child', function () {
return view('child', ['name' => '小信']);
});
使用传递过来的变量
{{$name}}
其实,blade的{{}}括号,不单单可以解析PHP变量,也支持PHP函数
{{time()}}
{{}}括号会默认转义,如果不想被转义,就可以使用{{!! !!}}
{{!!$script!!}}
有时候,为了初始化一个 JavaScript 变量,您可能会向视图传递一个数组并将其渲染成 JSON
<script>
var json = @json($json);
console.log(json);
</script>
if语句
@if(count($json)===1)
数组的元素是一个
@elseif(count($json)>1)
数组元素大于一个
@else
else语句
@endif
鉴权指令 @auth 和 @guest 指令可用于快速判断当前用户是否已经获得授权或是当前用户是游客
@auth
<p>已登录</p>
@endauth
@guest
<p>未登录</p>
@endguest
还可以把参数写进去
@auth('admin')
@endauth
@guest('admin')
@endguest
Loop变量 循环时,循环内部可以使用 $loop 变量。该变量提供了访问一些诸如当前的循环索引和此次迭代是首次或是末次这样的信息的方式:
@foreach($json as $v)
@if($loop->first)
首个元素
@endif
@if($loop->last)
最后一个元素
@endif
<p>元素值:{{ $v }}</p>
@endforeach
|