您好,登錄后才能下訂單哦!
Laravel Blade模板繼承是一種強大的功能,它允許你創建一個基本布局文件,然后在其他視圖文件中擴展和重用這些布局。以下是一些Laravel Blade模板繼承的技巧:
首先,你需要創建一個基本布局文件,通常命名為 resources/views/layouts/app.blade.php
。這個文件將包含所有頁面共享的結構和樣式。
<!-- resources/views/layouts/app.blade.php -->
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@yield('title', 'Laravel')</title>
<!-- 引入CSS和JS文件 -->
@include('layouts.partials.styles')
@include('layouts.partials.scripts')
</head>
<body>
<div id="app">
<header>
@include('layouts.partials.header')
</header>
<main>
@yield('content')
</main>
<footer>
@include('layouts.partials.footer')
</footer>
</div>
</body>
</html>
@yield
和 @section
在基本布局文件中,使用 @yield
指令來定義一個占位符,你可以在子視圖中填充這個占位符。同時,使用 @section
指令來定義子視圖中的內容。
<!-- resources/views/pages/home.blade.php -->
@extends('layouts.app')
@section('title', 'Home Page')
@section('content')
<h1>Welcome to the Home Page</h1>
<p>This is the home page content.</p>
@endsection
@include
嵌套布局你可以在基本布局文件中使用 @include
指令來包含其他布局文件,從而實現更復雜的布局結構。
<!-- resources/views/layouts/app.blade.php -->
<body>
<div id="app">
<header>
@include('layouts.partials.header')
</header>
<main>
@yield('content')
</main>
<footer>
@include('layouts.partials.footer')
</footer>
</div>
</body>
</html>
@parent
繼承父布局如果你想在子視圖中修改父布局的某些部分,可以使用 @parent
指令。
<!-- resources/views/pages/home.blade.php -->
@extends('layouts.app')
@section('title', 'Home Page')
@section('content')
@parent
<p>Additional content for the home page.</p>
@endsection
@guest
和 @auth
指令Laravel Blade提供了 @guest
和 @auth
指令,可以方便地根據用戶是否登錄來顯示不同的內容。
<!-- resources/views/layouts/app.blade.php -->
<body>
<div id="app">
<header>
@guest
<a href="{{ route('login') }}">Login</a>
<a href="{{ route('register') }}">Register</a>
@else
<p>Welcome, {{ auth()->user()->name }}!</p>
<a href="{{ route('logout') }}">Logout</a>
@endguest
</header>
<main>
@yield('content')
</main>
<footer>
@include('layouts.partials.footer')
</footer>
</div>
</body>
</html>
@yield('sidebar')
和 @include('partials.sidebar')
你可以在基本布局文件中定義一個占位符,然后在子視圖中填充這個占位符,或者使用 @include
指令來包含側邊欄文件。
<!-- resources/views/layouts/app.blade.php -->
<body>
<div id="app">
<header>
@include('layouts.partials.header')
</header>
<main>
@yield('content')
</main>
<aside>
@yield('sidebar')
</aside>
<footer>
@include('layouts.partials.footer')
</footer>
</div>
</body>
</html>
<!-- resources/views/pages/home.blade.php -->
@extends('layouts.app')
@section('title', 'Home Page')
@section('content')
<h1>Welcome to the Home Page</h1>
<p>This is the home page content.</p>
@endsection
@section('sidebar')
<h2>Sidebar</h2>
<p>This is the sidebar content.</p>
@endsection
通過這些技巧,你可以有效地使用Laravel Blade模板繼承來創建可重用的布局和組件,從而提高代碼的可維護性和可讀性。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。