0Pricing
PHP Academy · Lekcja

Znaczniki PHP i składnia osadzania

Używaj otwierających i zamykających znaczników PHP oraz skróconej składni echo w kodzie HTML

Znaczniki PHP i składnia osadzania to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.

Łączenie PHP i HTML

PHP zaprojektowano tak, aby można było osadzać je w plikach HTML. Gdy serwer przetwarza plik .php, wykonuje wszystko, co znajduje się między znacznikami PHP, a całą pozostałą zawartość wysyła do przeglądarki bez zmian.

Standardowe znaczniki PHP

Standardowe znaczniki otwierający i zamykający PHP:

<!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>

Skrócony znacznik echo

Skrócony znacznik echo wyświetla wartość bez konieczności wpisywania słowa 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>

Zawsze zabezpieczaj dane wyjściowe

Nigdy nie wyświetlaj danych kontrolowanych przez użytkownika bez ich zabezpieczenia:

<?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 w atrybutach HTML

Osadzaj PHP w atrybutach HTML — zawsze zabezpieczaj dane wyjściowe:

<?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>

Unikaj skróconych znaczników

Skrócone znaczniki otwierające (znak mniejszości ? bez php) NIE są zalecane — zależą od ustawienia w php.ini i kolidują z XML. Zawsze używaj pełnego znacznika otwierającego albo skróconej formy echo:

<?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.

Warunkowe wyrażenia inline w szablonach

Używaj bezpośrednio w szablonach operatora trójargumentowego lub operatora null coalescing:

<?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>

Buforowanie danych wyjściowych do przechwytywania

Przechwyć dane wyjściowe PHP i HTML do zmiennej, używając buforowania danych wyjściowych:

<?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 dla różnych platform

Używaj PHP_EOL, aby uzyskać właściwy znak końca wiersza na dowolnej platformie:

<?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';

Pomijanie znacznika zamykającego

Najlepsza praktyka: pomijaj zamykający znacznik PHP na końcu plików zawierających wyłącznie PHP. Zapobiega to przypadkowemu wysłaniu białych znaków przed nagłówkami:

<?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

Wiele bloków PHP

Plik może zawierać wiele bloków PHP przeplatanych kodem 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>

Szybkie sprawdzenie

Jaka składnia wyświetlania PHP jest zalecana do wyświetlania zmiennej w szablonie HTML?

Podsumowanie: znaczniki PHP i osadzanie

Najważniejsze informacje:

  • Używaj <?php ?> dla bloków kodu i <?= ?> do wyświetlania danych
  • Zawsze zabezpieczaj dane wyjściowe za pomocą htmlspecialchars()
  • Pomijaj znacznik zamykający na końcu plików zawierających wyłącznie PHP
  • Używaj buforowania danych wyjściowych do przechwytywania wyrenderowanego kodu HTML
  • Używaj PHP_EOL do obsługi przenośnych znaków końca wiersza

Często zadawane pytania

Czy lekcja „Znaczniki PHP i składnia osadzania” jest bezpłatna?

Tak — pełny tekst „Znaczniki PHP i składnia osadzania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Znaczniki PHP i składnia osadzania”?

Używaj otwierających i zamykających znaczników PHP oraz skróconej składni echo w kodzie HTML Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Znaczniki PHP i składnia osadzania”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Znaczniki PHP i składnia osadzania
  2. Dynamiczny kod HTML z pętlami PHP
  3. Dołączanie i wymaganie plików
  4. Wzorzec szablonu: oddzielanie logiki od widoku
← Powrót do PHP Academy