Views & Templates

Creating Views

php frame make:view products/index

This creates app/views/products/index.view.php

Rendering Views

// In controller
view('products/index', [
    'title' => 'Products',
    'products' => $products
]);

Creating Components

Create a component at app/views/components/alert.view.php:

<div class="alert alert-{{ $type ?? 'info' }}" role="alert">
    @if(isset($icon))
        <i class="bi bi-{{ $icon }}"></i>
    @endif

    {{ $message ?? $slot }}
</div>

Use it in views:

<!-- With attributes -->
<x-alert type="success" message="User created!" icon="check-circle" />

<!-- With slot content -->
<x-alert type="warning">
    <strong>Warning!</strong> This action cannot be undone.
</x-alert>