PHP Academy · Lektion

Blade-templates og views

Gengiv dynamisk HTML med Blade-direktiver, layouts og komponenter.

Lektion 4 af 413 trin

Blade-templates og views er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad er Blade?

Blade er Laravels skabelonmotor. Filer har endelsen .blade.php og understøtter direktiver, løkker og nedarvning af layouts. Blade kompileres til almindelig PHP og gemmes i cachen.

Udskrivning af variabler

Brug dobbelte krøllede parenteser til at udskrive en variabel. Værdien escapes automatisk for at forhindre XSS.

{{-- resources/views/greeting.blade.php --}}
<h1>Hello, {{ $name }}</h1>
<p>You have {{ $messageCount }} messages.</p>

Uescapet output

Brug {!! !!} til råt, uescapet HTML-output. Brug kun dette til indhold, du har tillid til.

{!! $htmlContent !!}

Betingelser

Blade indeholder @if, @elseif, @else og @endif.

@if($user->isAdmin())
    <a href="/admin">Admin Panel</a>
@elseif($user->isEditor())
    <a href="/editor">Editor</a>
@else
    <a href="/dashboard">Dashboard</a>
@endif

@isset og @empty

Praktiske kortformer til almindelige tjek af null- og tomme værdier.

@isset($username)
    <p>Welcome, {{ $username }}</p>
@endisset

@empty($items)
    <p>No items found.</p>
@endempty

Løkker

Blade understøtter @foreach, @for, @while og @forelse (med @empty-fallback).

@forelse($posts as $post)
    <article>
        <h2>{{ $post->title }}</h2>
    </article>
@empty
    <p>No posts yet.</p>
@endforelse

Variablen $loop

Inden i en @foreach indeholder $loop metadata: $loop->index, $loop->first, $loop->last og $loop->count.

Layout med @extends og @section

Definér et overordnet layout, og udvid det i underordnede visninger.

{{-- layouts/app.blade.php --}}
<html>
<body>
    @yield("content")
</body>
</html>

{{-- pages/home.blade.php --}}
@extends("layouts.app")
@section("content")
    <h1>Home Page</h1>
@endsection

@include

Inkludér en delvisning.

@include("partials.nav")
@include("partials.alert", ["type" => "success", "msg" => "Saved!"])

Blade-komponenter

Genanvendelige komponenter ligger i resources/views/components/ og bruges med syntaksen <x-component-name>.

{{-- components/alert.blade.php --}}
<div class="alert alert-{{ $type }}">
    {{ $slot }}
</div>

{{-- Usage: --}}
<x-alert type="success">Profile updated!</x-alert>

Videregivelse af data til visninger

Fra en controller kan du videregive data ved hjælp af view() med et array eller compact().

<?php
return view("users.index", [
    "users" => User::all(),
    "title" => "All Users",
]);
// Or:
return view("users.index", compact("users", "title"));

Opsummering

Blade kompileres til PHP. Brug {{ }} til escapet output, @extends/@section til layouts, @foreach/@forelse til løkker og <x-component> til genanvendelig brugerflade.

Hurtigt tjek

Hvilken Blade-syntaks escaper output sikkert for at forhindre XSS?

Gratis at komme i gang

Lær PHP med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
49
Lektioner
195

Ofte stillede spørgsmål

Er lektionen “Blade-templates og views” gratis?

Ja — hele teksten til “Blade-templates og views” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Blade-templates og views”?

Gengiv dynamisk HTML med Blade-direktiver, layouts og komponenter. Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på PHP Academy?

Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Blade-templates og views”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne PHP Academy-lektion?

Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Laravel-projektstruktur
  2. Definition af routes i Laravel
  3. Controllere og actions
  4. Blade-templates og views
← Tilbage til PHP Academy