tina4stack / tina4php-shape
Tina4 PHP HTML Shape Language
v2.0.4
2026-03-14 18:23 UTC
Requires
- php: >=8.1
Requires (Dev)
- overtrue/phplint: ^2.0
- phpunit/phpunit: ^9
- roave/security-advisories: dev-latest
README
HTML Language called Shape where you write code to make HTML
Installation
composer require tina4stack/tina4php-shape
Basic usage
Each HTML tag has an underscore prefix, <p> tag would be _p()
Normal Tag
echo _p("Hello"); //<p>Hello</p>
Tag with Attributes
echo _div(["class" => "form-group"], "Testing"); //<div class="form-group">Testing</div>
Nesting of tags
Some things become easier to code due to nesting, think of un ordered lists or select tags.
$lis = []; $lis[] = _li("One"); $lis[] = _li("Two"); $ul = _ul ($lis); $options = []; $options[] = _option("One"); $options[] = _option("Two"); $select = _select (["name" => "choose"], $options);
Finding a tag by id
Sometimes you want to manipulate a tag's content, so we find it based on the id attribute.
$tag = $html->byId("someId");
Set the html of a tag
$tag->html(_p("Changed HTML"));
Example
<?php require_once "vendor/autoload.php"; //Start some HTML $lis = []; $lis[] = _li("One"); $lis[] = _li("Two"); $ul = _ul ($lis); $html = _shape( _doctype("html"), _html(["lang" => "en"], _head( _title("Testing") ), _body( _h1(["id" => "someId"],"Hello World! H1"), _h2("Hello World! H2"), $a = _h3("Hello World! H3"), _h4("Hello World! H4"), _h5("Hello World! H5"), $ul ) )); $a->html(_b(["style" => "color: red"],"Hello")); $html->byId("someId")->html("====="); echo $html;
You should see something like this
Our Sponsors
Sponsored with 🩵 by Code Infinity
Supporting open source communities • Innovate • Code • Empower
