Tags do PHP e sintaxe de incorporação
Use tags de abertura e fechamento do PHP e a sintaxe curta de eco dentro do HTML.
Tags do PHP e sintaxe de incorporação é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
Combinando PHP e HTML
O PHP foi projetado para ser incorporado em arquivos HTML. Quando o servidor processa um .php, tudo o que está entre as tags PHP é executado; todo o restante é enviado ao navegador como está.
Tags padrão do PHP
As tags padrão de abertura e fechamento do 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>Tag curta de saída
A tag curta de saída imprime um valor sem escrever a palavra 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>Sempre faça o escape da saída
Nunca imprima dados controlados pelo usuário sem fazer o escape:
<?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 em atributos HTML
Incorpore PHP em atributos HTML — sempre faça o escape:
<?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>Evite tags curtas
Tags curtas de abertura (sinal de menor ? sem php) NÃO são recomendadas — elas dependem de uma configuração do php.ini e entram em conflito com XML. Sempre use a tag de abertura completa ou o formato curto de saída:
<?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.Condicionais inline em modelos
Use diretamente nos modelos o operador ternário inline ou o operador de coalescência nula:
<?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>Bufferização da saída para captura
Capture a saída de PHP+HTML em uma variável usando a bufferização da saída:
<?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 para várias plataformas
Use PHP_EOL para obter o terminador de linha correto em qualquer plataforma:
<?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';Omissão da tag de fechamento
Prática recomendada: omita a tag de fechamento do PHP no final de arquivos que contêm somente PHP. Isso evita que espaços em branco acidentais sejam enviados antes dos cabeçalhos:
<?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 issuesMúltiplos blocos PHP
Um arquivo pode ter vários blocos PHP intercalados com 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>Verificação rápida
Qual sintaxe de saída do PHP é recomendada para imprimir uma variável em um modelo HTML?
Recapitulação: tags e incorporação de PHP
Pontos principais:
- Use
<?php ?>para blocos de código e<?= ?>para saída - Sempre faça o escape da saída com
htmlspecialchars() - Omita a tag de fechamento no final de arquivos que contêm somente PHP
- Use a bufferização da saída para capturar HTML renderizado
- Use PHP_EOL para terminadores de linha portáveis
Perguntas Frequentes
A aula “Tags do PHP e sintaxe de incorporação” é grátis?
Sim — o texto completo de “Tags do PHP e sintaxe de incorporação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Tags do PHP e sintaxe de incorporação”?
Use tags de abertura e fechamento do PHP e a sintaxe curta de eco dentro do HTML. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Tags do PHP e sintaxe de incorporação”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Tags do PHP e sintaxe de incorporação
- HTML dinâmico com loops do PHP
- Inclusão e exigência de arquivos
- Padrão de modelos: separando a lógica da visualização