Write the Code. Change the World.

11月 22

前言

使用 laravel 框架,总会使用到其模板引擎 blade。 该引擎的最大优点就是继承和切片。

一个网站通常首部(header),底部(footer)都是一样的。如果每个页面,都通过复制粘贴来实现共通性,就会很累赘。

相同代码的复用,在其他框架中也会有。而blade使用的是继承以及include。

使用

既然是继承。那就会有父模板。父模板通过两种方式来让子模板灵活的定义自己的内容。

  1. 父模板中,使用 @yield('content')进行标识。相当于占了一个坑。在子模板中,先使用 @extends('parent_filename') 先继承父模板,再使用 @section('content')开始定义的内容,以@endsection结束定义的内容。也就是在这两个标记之间的内容就是子模板定义的。

@yield可以定义默认值,如果子模板不继承的话就会显示该默认值。

<title>@yield('title', '首页')</title>
  1. 父模板中,使用 @section('flag-name')定义父模板内容的开始,以@show 结束父模板内容的结束。子模板的使用方法同上。不同点是,子模板可以选择继承父模板定义块中的内容。如果想使用就添加 @parent。 如:
@section('sidebar')
    $parent
    ……
    ……
    自定义的内容
@endsection

结束位置,既可以用 @endsection,也可以使用 @stop。不同的是,@endsection之后,当前模板还可以被模板继承,而@stop则终止继承,不再被继承。

laravel规范

https://fsdhub.com/books/laravel-specification

参考

http://laravelacademy.org/post/5919.html

http://blog.csdn.net/u011542261/article/details/52624247

https://segmentfault.com/a/1190000009056480#articleHeader0

视频教程:
https://www.codecasts.com/

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注