PHP Classes

File: examples/bootstrap_example.php

Recommend this page to a friend!
  Classes of Juan Camacho   Hypertool   examples/bootstrap_example.php   Download  
File: examples/bootstrap_example.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Hypertool
Compose and generate HTML pages from objects
Author: By
Last change:
Date: 18 days ago
Size: 2,012 bytes
 

Contents

Class file image Download
<?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";

?>