佈局繼承
佈局是一個檢視檔案,由其他檢視擴充套件,這些檢視將程式碼塊注入其父級。例如:
parent.blade.php:
<html>
<head>
<style type='text/css'>
@yield('styling')
</style>
</head>
<body>
<div class='main'>
@yield('main-content')
</div>
</body>
</html>
child.blade.php:
@extends('parent')
@section('styling')
.main {
color: red;
}
@stop
@section('main-content')
This is child page!
@stop
otherpage.blade.php:
@extends('parent')
@section('styling')
.main {
color: blue;
}
@stop
@section('main-content')
This is another page!
@stop
在這裡,你可以看到兩個示例子頁面,每個子頁面都擴充套件父頁面子頁面定義了 @section
,它在適當的 @yield
語句中插入父節點。
因此,View::make('child')
呈現的檢視將以紅色顯示 這是子頁面!,而 View::make('otherpage')
將生成相同的 html,除了文字這是另一頁!,而不是藍色。
通常將檢視檔案分開,例如具有專門用於佈局檔案的佈局資料夾,以及用於各種特定個別檢視的單獨資料夾。
佈局旨在應用應出現在每個頁面上的程式碼,例如新增側邊欄或標題,而不必在每個單獨的檢視中寫出所有 html 樣板。
檢視可以反覆進行擴充套件 -即第 3 頁能 @extend('page2')
,和第 2 頁可以 @extend('page1')
。
extend 命令使用與 View::make
和 @include
相同的語法,因此檔案 layouts/main/page.blade.php
作為 layouts.main.page
訪問。