Recommend this page to a friend! |
![]() |
Info | Documentation | ![]() |
![]() |
![]() |
Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2025-04-13 (4 days ago) ![]() | Not yet rated by the users | Total: Not yet counted | Not yet ranked |
Version | License | PHP version | Categories | |||
hypertool 2.0.0 | MIT/X Consortium ... | 7.4 | HTML |
Description | Author | |
This package can compose library provides a powerful, flexible, and generate HTML pages from objects. |
This library provides a powerful, flexible, and fluent PHP interface for generating HTML, with first-class support for modern frontend techniques using HTMX and Hyperscript.
<!-- Adjust path if LICENSE is in root -->
<!-- Update link -->
Welcome to the official documentation for the Hypertool HTML Generator library!
This library provides a powerful, flexible, and fluent PHP interface for generating HTML, with first-class support for modern frontend techniques using HTMX and Hyperscript.
New to the library? Here's how to get up and running quickly:
../examples/
directory.
Dive deeper into the main components of the library:
HtmlElement
: The core class for creating and manipulating all HTML elements. Learn about its API, attribute setters, child management, and HTMX/Hyperscript integration.
ScriptManager
: Understand how to use the automated system for injecting `htmx.js` and `hyperscript.js` conditionally and efficiently into your layouts.
Found a bug or have an idea? We welcome contributions!
<!-- Adjust path if LICENSE is in root -->
<!-- Update link -->
Welcome to the official documentation for the Hypertool HTML Generator library!
This library provides a powerful, flexible, and fluent PHP interface for generating HTML, with first-class support for modern frontend techniques using HTMX and Hyperscript.
New to the library? Here's how to get up and running quickly:
../examples/
directory.
Dive deeper into the main components of the library:
HtmlElement
: The core class for creating and manipulating all HTML elements. Learn about its API, attribute setters, child management, and HTMX/Hyperscript integration.
ScriptManager
: Understand how to use the automated system for injecting `htmx.js` and `hyperscript.js` conditionally and efficiently into your layouts.
Found a bug or have an idea? We welcome contributions!
This PHP library provides a comprehensive, extensible, and fluent interface for generating HTML elements, including full support for all HTML5 and deprecated elements. It features:
Install via Composer:
composer require hypertool/html
Include the Composer autoloader in your project:
require_once 'vendor/autoload.php';
Use the namespaced classes:
use Hypertool\Html\HtmlElement;
use Hypertool\Html\ScriptManager;
// ... etc.
// Assumes autoloader is included as per Setup instructions
use Hypertool\Html\HtmlElement;
use Hypertool\Html\H1; // Example specific element
// Using the generic HtmlElement class
$html = new HtmlElement('div');
$html->setId('myDiv')->setClass('some-class');
$html->add_child('MainTitle','h1')->text('Hello, World!')->setClass('title');
$html->MainTitle->setStyle('color: blue;');
echo $html->output();
// Assumes autoloader is included and 'use Hypertool\Html\Div;' is present
$div = new Div('Content inside div');
echo $div->output();
// Assumes autoloader is included and 'use Hypertool\Html\HtmlElement;' is present
$div = HtmlElement::div('Content inside div');
echo $div->output();
Each element class file (e.g., src/b.php
, src/section.php
) contains a usage example at the end, demonstrating both direct instantiation and static factory usage.
This library provides comprehensive support for HTMX and Hyperscript:
_
attribute (`setHyperscript`)
// Assumes autoloader is included and 'use Hypertool\Html\HtmlElement;' is present
$button = HtmlElement::button('Load Data')
->setHxGet('/api/data')
->setHxTarget('#result')
->setHxSwap('outerHTML');
echo $button->output();
// Assumes autoloader is included and 'use Hypertool\Html\HtmlElement;' is present
$button = HtmlElement::button('Click Me')
->setHyperscript('on click add .clicked to me');
echo $button->output();
// Assumes autoloader is included and 'use Hypertool\Html\HtmlElement;' is present
$button = HtmlElement::button('Load & Animate')
->setHxGet('/api/data')
->setHyperscript('on htmx:afterSwap add .animated to #result');
echo $button->output();
Use the ScriptManager
class (now namespaced) for robust, environment-aware script loading:
// Assumes autoloader is included and 'use Hypertool\Html\ScriptManager;' is present
// In your page/component:
ScriptManager::requireHtmx();
ScriptManager::requireHyperscript();
// In your layout/footer (once per page):
echo ScriptManager::outputScripts();
We welcome contributions! To contribute:
To add new HTML elements or attributes:
- Create a new PHP class in src/
for the element.
- Add usage examples at the end of the file.
- If adding new HTMX/Hyperscript features, update the relevant setters and documentation.
To report bugs or request features: - Open an issue on GitHub. // Updated link
This project is licensed under the MIT License.
![]() |
File | Role | Description | ||
---|---|---|---|---|
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() |
||||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Data | Auxiliary data | ||
![]() ![]() |
Doc. | Documentation |
![]() |
/ | docs |
File | Role | Description |
---|---|---|
![]() ![]() |
Example | Example script |
![]() ![]() |
Doc. | Documentation |
![]() ![]() |
Data | Auxiliary data |
![]() |
/ | examples |
File | Role | Description |
---|---|---|
![]() ![]() |
Example | Example script |
![]() ![]() |
Example | Example script |
![]() |
Class | Class source |
![]() ![]() |
Example | Example script |
![]() |
/ | src |
File | Role | Description |
---|---|---|
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() ![]() |
Aux. | Configuration script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() ![]() |
Aux. | Configuration script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() ![]() |
Aux. | Configuration script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() ![]() |
Aux. | Configuration script |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
![]() |
Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
![]() |
Version Control | Unique User Downloads | |||||||
100% |
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.