hexmakina / marker
Marker is an HTML generator
Installs: 199
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 8
Type:package
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9
README
Marker
HTML Generation classes Hommage to Christian François Bouche-Villeneuve aka Chris Marker
Class Element
The Element class provides a simple and useful implementation for creating, and generating valid HTML elements using PHP The __toString() method of the Element class generates the HTML code for the element based on its tag, attributes, and content
Additionally, the Element class provides a static shorthand syntax, using __callStatic() matching the name of the HTML Element to create
The first argument is the content, the second are the attributes
$abbr = Element::abbr('RTFM', ['title' => 'read the file manual']); $p = Element:p('You reading this means you know about '.$abbr); echo $p; //
You reading this means you know about RTFM
::span('inner text', ['class' => 'd-block']) ::p('lorem ipsum') ::img(null, ['src' => 'path/to/jpeg.png', alt='hyper descriptive', 'width' => 100, 'height'=>100]) ::a('click here', ['href' => 'url/to/destination', 'class' => 'nav-link']) ::a('anchor title', ['name' => 'anchor_name'])
Regarding the attributes array, the keys represent the attribute names, and the values represent the attribute values. If an attribute key is an integer, the corresponding attribute name and value are treated as a boolean attribute.
Example usage:
$element = new Element('section', 'Hello World!', [
'id' => 'publication',
'class' => 'container',
'data-toggle' => 'modal',
'data-target' => '#myModal',
]);
<section id="publication" class="container" data-toggle="modal" "data-target"="#myModal">Hello World!</section>
Or, with void element and boolean attributes:
$element = new Element('input', null, [ 'type' => 'checkbox', 'checked', 'disabled', 'class' => 'checkbutton' ]);
Class WCAGElement
This class extends the Element class and provides methods to enforce WCAG (Web Content Accessibility Guidelines) compliance for certain HTML elements.