Heim >Backend-Entwicklung >PHP-Tutorial >Grundlagen von Laravel 5 (4) – Einführung in Blade

Grundlagen von Laravel 5 (4) – Einführung in Blade

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-08 09:26:551063Durchsuche

Wir können denselben Inhalt auf mehreren Seiten einbinden, z. B. Dateikopfzeilen, verlinktes CSS oder JS usw. Wir können Layoutdateien verwenden, um diese Funktion zu erfüllen.

Lassen Sie uns eine neue Layoutdatei erstellen, zum Beispiel views/layout.blade.php

<code><!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html></code>

Wir haben eine unverständliche Struktur erstellt und Bootstrap eingeführt. Beachten Sie, dass @yield der Layout-Platzhalter von Blade ist. Unser Seiteninhalt wird hier in Zukunft ausgefüllt about.blade.php

Der obige Code bedeutet, dass wir die Layoutdatei
<code>@extends('layout')

@section('content')
    
<h1>About {{ $first }} {{ $last }}</h1>

@stop</code>
verwenden und dann Inhalt im Abschnitt

hinzufügen. layout.blade.php contentIn

hinzufügen:

routes.php

In
<code>Route::get('about', 'PagesController@about');
Route::get('contact', 'PagesController@contact');</code>
hinzufügen:

PagesController.php

Neue Ansicht
<code>    public function contact() {
        return view('pages.contact');
    }</code>

pages/contact.blade.php

Schau es dir an!
<code>@extends('layout')

@section('content')
    <h1>Contact Me!</h1>
@stop</code>

Wir können der Layoutdatei mehrere

hinzufügen, z. B. das Hinzufügen von

in @yield: layout.blade.php @yield('footer')

Wenn sich beispielsweise in
<code><!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
    <div class="container">
        @yield('content')
    </div>

    @yield('footer')
</body>
</html></code>
ein Skript befindet, kann es in diesem Absatz platziert werden.

contact.blade.php

Beim Zugriff auf den Kontakt wird ein Dialogfeld angezeigt, aber „Über“ wird weiterhin normal angezeigt
<code>@extends('layout')

@section('content')
    <h1>Contact Me!</h1>
@stop

@section('footer')
    <script>
        alert('Contact from scritp')
    </script>
@stop</code>

Verwenden Sie
    , um zu urteilen
  • @if
kann auch als
<code>@extends('layout')

@section('content')
    @if ($first = 'Zhang')
        <h1>Hello, Zhang</h1>
    @else
        <h1>Hello, nobody</h1>
    @endif
@stop</code>
äquivalent zu

und @unless usw. angesehen werden. if ! @foreach

<code>    public function about()
    {
        $people = [
            'zhang san',
            'li si',
            'wang wu'
        ];
        return view('pages.about', compact('people'));
    }</code>
In einem Fall stammen die Daten möglicherweise aus der Datenbank und die Sammlung ist möglicherweise leer, wie folgt:
<code>@extends('layout')

@section('content')
    <h1>Person:</h1>
    <ul>
        @foreach($people as $person)
            <li>{{ $person }}</li>
        @endforeach
    </ul>
@stop</code>

Um diese Situation zu bewältigen, fügen Sie bitte
<code>$people = [];</code>
Handle

hinzu @if

Das ist besser.
<code>@extends('layout')

@section('content')
    @if (count($people))
        <h1>Person:</h1>
        <ul>
            @foreach($people as $person)
                <li>{{ $person }}</li>
            @endforeach
        </ul>
    @endif

    <h2>Other info</h2>
@stop</code>

Das Obige hat die Grundlagen von Laravel 5 (4) vorgestellt – Einführung in Blade, einschließlich verschiedener Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn