温馨提示,篇幅不长,满满干货,建议收藏观看
1. 知识汇总
- 视图文件以
.blade.php后缀结尾; - 传递数据给视图建议使用
with关键字,如return view('home')->with('tasks', Task::all());; - 在
AppServiceProvider的boot方法中使用share关键字共享变量; - 分页器可以使用
simplePaginate和paginate方法进行实现,也可以自己定义; - blade模板的三种常见语法分别是:
{{ }}渲染PHP变量,{!! !!}渲染原生HTML代码,@为前缀,用来执行一些像结构控制,继承的操作以及屏蔽渲染vue的变量; -
{{--注释内容--}}用来注释一段PHP代码;
2. 控制结构
-
@if、@else、@elseif用于做条件判断; -
@unless相当于if的取反操作; -
@isset、@empty判断是否存在与是否为空; -
@switch流程判断,与@case,@break,@default相配合; -
@for、@foreach 和 @while熟悉的循环结构; -
@forelse与@empty相配合,在@forelse($students as $student)中相当于先判断$students是否为真,若真则执行下面代码并进行foreach循环,反之为空,执行@empty中的代码。 -
@loop变量通过固定属性访问相应的位置,如下表(来自laravel学院)
3. 模板继承与组件引用
- blade模板中用
@yield 和 @section/@show实现布局文件中的定义插槽,@section/@show可以用@parent进行访问; - 继承使用
@extends 和 @section/@endsection实现; - 通过
@include引入组件; -
@each指令可以循环单个组件; - 使用
@slot可以定义一个指定区域,而使用component可以对指定区域进行重写; - 除此之外还可以通过 View Composer 预设视图组件数据变量,自定义Blade指令等,这个暂不详解,属于高级内容;
参考网址:
https://laravelacademy.org/post/9664.html
https://laravelacademy.org/post/9663.html
https://laravelacademy.org/post/9662.html
https://laravelacademy.org/post/9661.html
https://laravelacademy.org/post/9660.html