0Pricing
PHP Academy · Leçon

Balises PHP et syntaxe d’intégration

Utiliser les balises PHP ouvrantes et fermantes ainsi que la syntaxe d’affichage abrégée dans HTML.

Balises PHP et syntaxe d’intégration est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.

Mélanger PHP et HTML

PHP a été conçu pour être intégré dans des fichiers HTML. Lorsque le serveur traite un fichier .php, tout ce qui se trouve entre les balises PHP est exécuté ; tout le reste est envoyé au navigateur tel quel.

Balises PHP standard

Les balises PHP standard d’ouverture et de fermeture :

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

Balise d’affichage abrégée

La balise d’affichage abrégée affiche une valeur sans avoir à écrire le mot 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>

Échapper toujours les sorties

N’affichez jamais de données contrôlées par l’utilisateur sans les échapper :

<?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 dans les attributs HTML

Intégrez PHP dans les attributs HTML — échappez toujours les valeurs :

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

Éviter les balises abrégées

Les balises d’ouverture abrégées (signe inférieur à suivi de ? sans php) ne sont PAS recommandées : elles dépendent d’un paramètre de php.ini et entrent en conflit avec XML. Utilisez toujours la balise d’ouverture complète ou la forme d’affichage abrégée :

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

Conditionnelles en ligne dans les modèles

Utilisez directement l’opérateur ternaire en ligne ou la coalescence nulle dans les modèles :

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

Mise en mémoire tampon pour capturer la sortie

Capturez la sortie PHP+HTML dans une variable à l’aide de la mise en mémoire tampon :

<?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 pour toutes les plateformes

Utilisez PHP_EOL pour obtenir la fin de ligne correcte sur toutes les plateformes :

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

Omission de la balise de fermeture

Bonne pratique : omettez la balise PHP de fermeture à la fin des fichiers contenant uniquement du PHP. Cela empêche l’envoi d’espaces superflus avant les en-têtes :

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

Blocs PHP multiples

Un fichier peut contenir plusieurs blocs PHP entrecoupés de 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>

Vérification rapide

Quelle syntaxe PHP est recommandée pour afficher une variable dans un modèle HTML ?

Récapitulatif : balises PHP et intégration

Points clés :

  • Utilisez <?php ?> pour les blocs de code et <?= ?> pour l’affichage
  • Échappez toujours les sorties avec htmlspecialchars()
  • Omettez la balise de fermeture à la fin des fichiers contenant uniquement du PHP
  • Utilisez la mise en mémoire tampon pour capturer le HTML généré
  • Utilisez PHP_EOL pour des fins de ligne portables

Questions Fréquemment Posées

La leçon « Balises PHP et syntaxe d’intégration » est-elle gratuite ?

Oui — le texte complet de « Balises PHP et syntaxe d’intégration » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Balises PHP et syntaxe d’intégration » ?

Utiliser les balises PHP ouvrantes et fermantes ainsi que la syntaxe d’affichage abrégée dans HTML. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer PHP Academy ?

Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Balises PHP et syntaxe d’intégration » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?

Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Balises PHP et syntaxe d’intégration
  2. HTML dynamique avec les boucles PHP
  3. Inclure et exiger des fichiers
  4. Modèle de conception : séparer la logique de la vue
← Retour à PHP Academy