PHP e HTML
Due ruoli diversi
Sezione intitolata “Due ruoli diversi”HTML descrive la pagina. PHP prepara dati e pezzi dinamici della pagina.
<?php$titolo = "Benvenuto";?>
<h1><?php echo $titolo; ?></h1>PHP calcola il valore. HTML lo mostra.
Echo dentro HTML
Sezione intitolata “Echo dentro HTML”Per stampare un valore puoi usare echo.
<?php$nome = "Luca";?>
<p>Ciao, <?php echo $nome; ?>!</p>Esiste anche una forma breve:
<p>Ciao, <?= $nome ?>!</p><?= $nome ?> significa: stampa questo valore.
Separare logica e markup
Sezione intitolata “Separare logica e markup”Cerca di preparare i dati prima dell’HTML.
<?php$utente = [ "nome" => "Sara", "ruolo" => "amministratrice",];?>
<h1><?= $utente["nome"] ?></h1><p>Ruolo: <?= $utente["ruolo"] ?></p>Questo rende la pagina piu leggibile: prima organizzi i dati, poi li mostri.
Scorrere dati in una pagina
Sezione intitolata “Scorrere dati in una pagina”<?php$prodotti = ["Penna", "Quaderno", "Zaino"];?>
<ul> <?php foreach ($prodotti as $prodotto): ?> <li><?= $prodotto ?></li> <?php endforeach; ?></ul>La sintassi con endforeach e comoda nei template HTML per evitare troppe parentesi graffe.
Proteggere il testo
Sezione intitolata “Proteggere il testo”Quando stampi dati che arrivano da utenti, usa htmlspecialchars.
<p><?= htmlspecialchars($nome, ENT_QUOTES, 'UTF-8') ?></p>E una piccola abitudine che evita molti problemi di sicurezza.
Alternare PHP e HTML senza confusione
Sezione intitolata “Alternare PHP e HTML senza confusione”Quando lavori in una pagina mista, prova a pensare in due fasi:
- PHP prepara i dati
- HTML mostra i dati
<?php$titolo = "Catalogo";$numeroProdotti = 3;?>
<h1><?= htmlspecialchars($titolo, ENT_QUOTES, 'UTF-8') ?></h1><p>Prodotti disponibili: <?= $numeroProdotti ?></p>Questo ordine evita di infilare calcoli lunghi in mezzo al markup.
Condizioni dentro una pagina
Sezione intitolata “Condizioni dentro una pagina”Puoi mostrare HTML diverso in base a una condizione.
<?php$utenteLoggato = false;?>
<?php if ($utenteLoggato): ?> <p>Benvenuto nella tua area personale.</p><?php else: ?> <p>Accedi per continuare.</p><?php endif; ?>Questa forma e leggibile nei template perche separa bene il codice PHP dai pezzi HTML.
Errore comune: fare troppa logica nel template
Sezione intitolata “Errore comune: fare troppa logica nel template”Se dentro l’HTML inizi ad avere molti calcoli, query al database o controlli lunghi, la pagina diventa difficile da mantenere. Prepara prima i dati in PHP, poi usa il template solo per mostrarli.