Skip to content

HexMakina/Marker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scrutinizer Code Quality Maintainability PSR-4 Compliant PSR-12 Compliant PHP 7.4 Required Latest Stable Version License

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 Marker

Class Form