Loading repository data…
Loading repository data…
bluiceoficial / repository
MiPhantTPL é uma biblioteca PHP leve, extensível e minimalista para geração de HTML através de métodos dinâmicos, permitindo escrever HTML de forma programática, fluente e sem templates externos.
[!NOTE] This repository has been migrated to Codeberg, please see: https://codeberg.org/bluice/miphanttpl
MiPhantTPL é uma biblioteca PHP leve, extensível e minimalista para geração de HTML através de métodos dinâmicos, permitindo escrever HTML de forma programática, fluente e sem templates externos.
Cada método chamado representa uma tag HTML, funcionando como uma DSL (Domain Specific Language) para HTML em PHP.
__callimg, br, input, entre outros)checked, disabled, required, entre outros)composer require bluiceoficial/miphanttpl
Copie o arquivo MiPhantTPL.php para seu projeto e inclua via autoload ou require.
use MiPhantTPL\MiPhantTPL;
$tpl = new MiPhantTPL();
echo $tpl->p('Olá mundo');
Resultado:
<p>Olá mundo</p>
echo $tpl->h1('Título');
echo $tpl->p('Conteúdo do parágrafo');
<h1>Título</h1>
<p>Conteúdo do parágrafo</p>
Os atributos são passados como array:
echo $tpl->a(
'Acessar site',
['href' => 'https://example.com', 'target' => '_blank']
);
<a href="https://example.com" target="_blank">Acessar site</a>
A biblioteca reconhece automaticamente atributos booleanos:
echo $tpl->input([
'type' => 'checkbox',
'checked'
]);
<input type="checkbox" checked>
Você pode estender a lista padrão de atributos booleanos:
$tpl->addAttributeNoValue(['inert', 'itemscope']);
echo $tpl->div(
'Conteúdo',
['inert']
);
<div inert>Conteúdo</div>
Tags como img, br, input e similares não recebem fechamento automaticamente:
echo $tpl->img([
'src' => 'foto.jpg',
'alt' => 'Imagem'
]);
<img src="foto.jpg" alt="Imagem" />
Caso você utilize elementos personalizados (ex: Web Components):
$tpl->addNotClose(['mycomponent']);
echo $tpl->mycomponent([
'data-id' => '123'
]);
<mycomponent data-id="123">
Como tudo retorna string, é possível aninhar facilmente:
echo $tpl->div(
$tpl->h2('Título') .
$tpl->p('Texto do conteúdo'),
['class' => 'container']
);
code())O método code() permite escrever HTML de forma estruturada:
echo $tpl->code(function ($html) {
return
$html->doctype() .
$html->html(
$html->body(
$html->h1('MiPhantTPL') .
$html->p('Gerando HTML com PHP puro')
)
);
});
echo $tpl->doctype();
<!DOCTYPE html>
Murilo Gomes Julio
📺 https://youtube.com/@bluiceoficial
Copyright (c) 2025-2026 Murilo Gomes Julio
Licensed under the MIT.
All contributions to the MiPhantTPL are subject to this license.