PHP Academy · Lektion

PHP-tags og indlejringssyntaks

Brug åbne- og lukketags til PHP samt kort echo-syntaks i HTML.

Lektion 1 af 413 trin

PHP-tags og indlejringssyntaks er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 1 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.

Blanding af PHP og HTML

PHP blev designet til at blive indlejret i HTML-filer. Når serveren behandler en .php-fil, bliver alt mellem PHP-tags udført; alt andet sendes til browseren uændret.

Standard-PHP-tags

De almindelige åbne og lukkende PHP-tags:

<!DOCTYPE html>
<html><body>
<?php
    $name = 'Alice';
    echo 'Hello, ' . $name;
?>
<p>This is regular HTML.</p>
<?php
    echo '<p>Back in PHP!</p>';
?>
</body></html>

Kort echo-tag

Det korte echo-tag viser en værdi uden at skrive ordet echo:

<!-- Long form -->
<h1><?php echo $pageTitle; ?></h1>

<!-- Short form (preferred in templates) -->
<h1><?= $pageTitle ?></h1>

<!-- With escaping -->
<h1><?= htmlspecialchars($pageTitle, ENT_QUOTES, 'UTF-8') ?></h1>

Escap altid uddata

Send aldrig brugerbestemte data ud uden escaping:

<?php
$unsafe = '<script>alert("xss")</script>';
$safe   = htmlspecialchars($unsafe, ENT_QUOTES, 'UTF-8');

// Define a helper:
function e(string $str): string {
    return htmlspecialchars($str, ENT_QUOTES | ENT_HTML5, 'UTF-8');
}
?>

<p><?= e($userInput) ?></p>

PHP i HTML-attributter

Indlejr PHP i HTML-attributter — brug altid escaping:

<?php
$url    = '/profile/' . $user['id'];
$active = $currentPage === 'home' ? 'active' : '';
$count  = 5;
?>

<a href="<?= htmlspecialchars($url) ?>" class="nav-link <?= $active ?>">
    Inbox <span class="badge"><?= $count ?></span>
</a>

Undgå korte tags

Korte åbningstags (mindre end-tegnet ? uden php) anbefales IKKE — de afhænger af en indstilling i php.ini og er i konflikt med XML. Brug altid det fulde åbningstag eller den korte echo-form:

<?php
// These are the safe, portable forms:
// <?php echo $name; ?>    — full form
// <?= $name ?>            — short echo (always enabled 5.4+)

// The short open tag <? is different and unreliable
// Do not use it in code intended for multiple environments.

Inline-betingelser i skabeloner

Brug den indlejrede ternære operator eller null-coalescing direkte i skabeloner:

<?php
$role = 'admin';
$loggedIn = true;
?>

<nav>
    <?= $loggedIn ? 'Welcome back!' : 'Please log in' ?>
    <?php if ($role === 'admin'): ?>
        <a href="/admin">Admin Panel</a>
    <?php endif; ?>
</nav>

Outputbuffering til opsamling

Opsaml PHP- og HTML-uddata i en variabel ved hjælp af outputbuffering:

<?php
function renderCard(string $title, string $body): string {
    ob_start();
    ?>
    <div class="card">
        <h2><?= htmlspecialchars($title) ?></h2>
        <p><?= htmlspecialchars($body) ?></p>
    </div>
    <?php
    return ob_get_clean();
}

echo renderCard('PHP', 'A server-side scripting language.');

PHP_EOL på tværs af platforme

Brug PHP_EOL for at få det korrekte linjeskift på enhver platform:

<?php
$lines = ['Line 1', 'Line 2', 'Line 3'];
$content = implode(PHP_EOL, $lines);
file_put_contents('output.txt', $content);

// PHP_EOL = "\n" on Linux/Mac, "\r\n" on Windows
echo PHP_EOL === "\n" ? 'Unix line ending' : 'Windows line ending';

Udeladelse af afsluttende tag

Bedste praksis: Udelad det afsluttende PHP-tag i slutningen af filer, der kun indeholder PHP. Det forhindrer, at utilsigtede mellemrum sendes, før headers sendes:

<?php
// config.php — PHP only, no closing tag needed
defined('APP_KEY') or define('APP_KEY', 'secret123');
define('DB_HOST', 'localhost');
define('DB_NAME', 'myapp');

// No closing PHP tag here — prevents header issues

Flere PHP-blokke

En fil kan have flere PHP-blokke blandet med HTML:

<?php
$items = ['Apple', 'Banana', 'Cherry'];
$count = count($items);
?>

<h2>Shopping List (<?= $count ?> items)</h2>
<ul>
<?php foreach ($items as $item): ?>
    <li><?= htmlspecialchars($item) ?></li>
<?php endforeach; ?>
</ul>

Hurtigt tjek

Hvilken PHP-syntaks anbefales til at vise en variabel i en HTML-skabelon?

Opsummering: PHP-tags og indlejring

Vigtige punkter:

  • Brug <?php ?> til kodeblokke og <?= ?> til uddata
  • Brug altid escaping på uddata med htmlspecialchars()
  • Udelad det afsluttende tag i slutningen af filer, der kun indeholder PHP
  • Brug outputbuffering til at opsamle gengivet HTML
  • Brug PHP_EOL til platformsuafhængige linjeskift
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 “PHP-tags og indlejringssyntaks” gratis?

Ja — hele teksten til “PHP-tags og indlejringssyntaks” 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 “PHP-tags og indlejringssyntaks”?

Brug åbne- og lukketags til PHP samt kort echo-syntaks i HTML. 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 1 af 4.

Hvor lang tid tager lektionen “PHP-tags og indlejringssyntaks”?

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. PHP-tags og indlejringssyntaks
  2. Dynamisk HTML med PHP-løkker
  3. Inkludering og krævning af filer
  4. Template-mønster: Adskillelse af logik og visning
← Tilbage til PHP Academy