The master branch is under active development and functionality may change or break at any time!
Getting started
Routing and controllers
Command line
Databases (SQL)
Databases (NoSQL)
Security
Packages
Learn more
- Array helper
- Caching
- Collections
- Command, event and query buses
- Date and time
- File system
- HTML helper
- Humanizer
- Image manipulation
- Internationalization
- Logging
- Number helper
- Pagination
- Retry helper
- Sessions
- String helper
- URL builder
- UUID helper
- Validation
- Views
Official packages
HTML helper
The HTML helper can be used to generate nearly any HTML tag.
Usage
First we'll need to create a HTML instance.
$html = new HTML;
// You can make it return XHTML by setting the $xhtml parameter to "true"
$html = new HTML(true);
The tag
method can be used to generate nearly any HTML tag.
// Will print "<br>"
echo $html->tag('br');
// Will print <span>Hello, world!</span>
echo $html->tag('span', [], 'Hello, world!');
// Will print <span id="foo" class="bar">Hello, world!</span>
echo $html->tag('span', ['id' => 'foo', 'class' => 'bar'], 'Hello, world!');
The audio
method generates HTML5 tags for audio files.
echo $html->audio('http://example.org/file.mp3');
echo $html->audio(['http://example.org/file.mp3', 'http://example.org/file.ogg']);
The video
method generates HTML5 tags for video files.
echo $html->video('http://example.org/file.mp4');
echo $html->video(['http://example.org/file.mp4', 'http://example.org/file.ogg']);
The ul
method generates HTML tags for an unordered list.
$items = ['apple', 'banana', 'orange'];
echo $html->ul($items);
echo $html->ul($items, ['class' => 'my_list']);
// It also supports multi-dimensional arrays
$items = ['foo', 'bar', ['bar', 'foo']];
echo $html->ul($items);
The ol
method generates HTML tags for a ordered list.
$items = ['apple', 'banana', 'orange'];
echo $html->ol($items);
echo $html->ol($items, ['class' => 'my_list']);
// It also supports multi-dimensional arrays
$items = ['foo', 'bar', ['bar', 'foo']);
echo $html->ol($items);
The addMethod
method allows you to register custom tag methods.
HTML::addMethod('p', fn ($content, array $attributes = []) => $this->tag('p', $attributes, $content));
// Will print <p>Hello</p>
$html->p('Hello!');
// Will print <p class="foo">Hello</p>
$html->p('Hello!', ['class' => 'foo']);