<?php
// examples/bootstrap_example.php
// Demonstrates using the HtmlElement library with Bootstrap classes via setClass()
// Assumes Composer autoloader is included
require_once __DIR__ . '/../vendor/autoload.php';
use Hypertool\Html\HtmlElement;
echo "--- Bootstrap Examples using setClass() ---\n\n";
// --- Bootstrap Button ---
echo "1. Bootstrap Button:\n";
$button = HtmlElement::button('Primary Button')
->setClass('btn btn-primary'); // Apply Bootstrap button classes
echo $button->output() . "\n\n";
// Expected: <button class="btn btn-primary">Primary Button</button>
// --- Bootstrap Alert ---
echo "2. Bootstrap Alert:\n";
$alert = HtmlElement::div('This is a success alert!')
->setClass('alert alert-success') // Apply Bootstrap alert classes
->setRole('alert'); // Add accessibility role
echo $alert->output() . "\n\n";
// Expected: <div class="alert alert-success" role="alert">This is a success alert!</div>
// --- Bootstrap Card (Simple) ---
echo "3. Bootstrap Card (Simple):\n";
$cardDiv = HtmlElement::div()
->setClass('card') // Card container
->setStyle('width: 18rem;'); // Optional inline style
$cardBody = HtmlElement::div()
->setClass('card-body'); // Card body
$cardTitle = HtmlElement::h5('Card Title')->setClass('card-title');
$cardText = HtmlElement::p('Some quick example text to build on the card title.')
->setClass('card-text');
$cardLink = HtmlElement::a('Go somewhere')->setHref('#')->setClass('btn btn-info'); // Button inside card
$cardBody->add_child('title', $cardTitle)
->add_child('text', $cardText)
->add_child('link', $cardLink);
$cardDiv->add_child('body', $cardBody);
echo $cardDiv->output() . "\n\n";
/* Expected structure:
<div class="card" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title">Card Title</h5>
<p class="card-text">Some quick example text...</p>
<a href="#" class="btn btn-info">Go somewhere</a>
</div>
</div>
*/
echo "--- End Bootstrap Examples ---\n";
?>
|