View
Sistema de views com suporte a layouts e extração automática de variáveis.
Uso Básico
// app/views/pagina.php
<h1><?= e($title) ?></h1>
<p>Bem-vindo, <?= e($nome) ?>!</p>
// Controller
view('pagina', ['title' => 'Home', 'nome' => 'João']); Com Layout
O conteúdo da view é renderizado primeiro e fica disponível como $content no layout:
// Controller
view('pagina', ['title' => 'Home', 'nome' => 'João'], 'layouts/app');
// app/views/layouts/app.php
<!DOCTYPE html>
<html>
<head><title><?= e($title) ?></title></head>
<body>
<?= $content ?>
</body>
</html> Como Funciona
O helper view() usa extract($data) para disponibilizar as variáveis no escopo da view. Com layout:
- Inicia buffer de saída (
ob_start()) - Extrai
$datae inclui a view - Captura o buffer em
$content - Extrai
$datanovamente no layout (layout data keys sobrescrevem$content) - Inclui o layout
Exemplo
// app/views/welcome.php
<h1>Olá, <?= e($nome) ?>!</h1>
<p><?= e($mensagem) ?></p>
// Controller
function welcome() {
view('welcome', [
'nome' => 'Maria',
'mensagem' => 'Bem-vinda ao Blumiga!',
], 'layouts/app');
} Helpers nas Views
<?= e($variavel) ?> <!-- Escapa HTML -->
<?= asset('css/app.css') ?> <!-- URL com cache busting -->
<?= csrf_field() ?> <!-- Campo CSRF -->
<?= flash_get('success') ?> <!-- Flash message -->
<?= __('welcome') ?> <!-- Tradução -->