1. Go to this page and download the library: Download decodelabs/tagged library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
decodelabs / tagged example snippets
use DecodeLabs\Tagged as Html;
echo Html::{'div.my-class#my-id'}('This is element content', [
'title' => 'This is a title'
]);
use DecodeLabs\Tagged as Html;
$tag = Html::tag('div.my-class');
echo $tag->open();
echo 'Content';
echo $tag->close();
use DecodeLabs\Tagged as Html;
$buffer = Html::raw('<span class="test">My span</span>');
use DecodeLabs\Tagged as Html;
$markup = Html::wrap(
function() {
yield Html::h1('My title');
},
[Html::p(['This is ', Html::strong('mixed'), ' content'])]
);
use DecodeLabs\Tagged as Html;
// Pass in nested elements via array
echo Html::div([
Html::{'span.inner1'}('Inner 1'),
' ',
Html::{'span.inner2'}('Inner 2')
]);
// Return anything and everything via a generator
echo Html::div(function($el) {
// $el is the root element
$el->addClass('container');
// Nest elements with a single call
yield Html::{'header > h1'}('This is a header');
yield Html::p('This is a paragraph');
// Set attributes inline
yield Html::{'p[data-target=open]'}('Target paragraph');
// Generator return values are rendered too
return Html::{'div.awesome'}('This is awesome!');
});
use DecodeLabs\Tagged as Html;
// Custom format
Html::$time->format('now', 'd/m/Y', 'Europe/London');
// Locale format
// When timezone is true it is fetched from Cosmos::$timezone
Html::$time->locale('now', 'long', 'long', true);
// Locale shortcuts
Html::$time->dateTime('tomorrow'); // medium
Html::$time->longTime('yesterday');
Html::$time->shortDate('yesterday');
// ...etc
// Intervals
Html::$time->since('yesterday'); // 1 day ago
Html::$time->until('tomorrow'); // 1 day from now
Html::$time->sinceAbs('yesterday'); // 1 day
Html::$time->untilAbs('yesterday'); // -1 day
Html::$time->between('yesterday', 'tomorrow'); // 1 day