mugomes/mitemplate

PHP Template with Cache and Minify Code.

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/mugomes/mitemplate

0.1.0 2025-11-21 21:54 UTC

This package is auto-updated.

Last update: 2025-11-21 21:58:43 UTC


README

MiTemplate permite separar a lógica de programação (PHP) da estrutura visual (HTML, XML, CSS, entre outros), facilitando a manutenção e organização do código.

O MiTemplate é baseado no excelente projeto Template (veja CRÉDITOS), com diversas melhorias.

Funcionalidades

  • Suporte a objetos
  • Detecção automática de blocos
  • Limpeza automática de blocos filhos
  • Aviso ao chamar um bloco inexistente
  • Aviso ao detectar um bloco malformado
  • Aviso ao definir uma variável inexistente
  • Adicionar Comentários no template
  • Permite exibir ou retornar o conteúdo
  • Permite a minificação do código-fonte
  • Outras funcionalidades menores

Documentação

Instalando

composer require mugomes/mitemplate

Adicionar Arquivos

Exemplo em PHP:

use MiTemplate\MiTemplate;

include_once(__DIR__ . '/vendor/autoload.php');

$tpl = new MiTemplate('layout.html');
$tpl->addFile('menutopo', 'menutopo.html');

Exemplo em HTML:

<div>{{menutopo}}</div>
<p>Minha Página</p>

Exibir ou Retornar o conteúdo

Para exibir ou retornar o conteúdo você pode usar o método show, conforme o exemplo abaixo:

// Para exibir direto
$tpl->show();

// Para retornar
$html = $tpl->show(true);
echo $html;

Minificar o conteúdo

Para minificar o conteúdo você pode usar os seguintes métodos.

$tpl->enableMinify();

// Não é obrigatório o uso do optionMinify, pois por padrão as opções collapse_whitespace e disable_comments já vem ativas, caso precise acrescentar ou modificar as opções, informe-as novamente conforme o exemplo abaixo.

$tpl->optionMinify([
    'collapse_whitespace' => true,
    'disable_comments' => false
]);

$tpl->show();

Consulte a documentação do tiny-html-minifier para mais opções de minificação.

Variaveis

Para exibir um conteúdo na página você pode usar as chaves duplicadas, com ou sem espaço para a variável personalizada.

{{variavel}} ou {{sua variavel}}

Blocos

Os blocos permitem você trabalhar com conteúdo em loop. Assim como as variáveis, os blocos permitem espaço.

Exemplo em PHP:

$tpl->set('sua variavel', 'Exemplo de Bloco com Espaço');
$tpl->block('SEU BLOCO');

$tpl->set('variavel', 'Exemplo em Loop');
$tpl->block('BLOCO');

for ($i = 0; $i < 10; $i++) {
    $tpl->set('variavel1', $i);
    for ($i = 0; $i < 10; $i++) {
        $tpl->set('variavel2', $i);
        $tpl->block('BLOCO2');
    }
    $tpl->block('BLOCO1');
}

Exemplo em HTML:

[BEGIN SEU BLOCO]
    {{sua variavel}}
[END SEU BLOCO]

[BEGIN BLOCO]
    {{variavel}}
[END BLOCO]

[BEGIN BLOCO1]
    <div>
        {{variavel1}}
        [BEGIN BLOCO2]
            <div>{{variavel2}}</div>
        [END BLOCO2]
        {{variavel1}}
    </div>
[END BLOCO1]

Finally

Caso os blocos não sejam acionados, o conteúdo que estiver entre o END e o FINALLY será exibido.

[BEGIN BLOCO]
    {{variavel}}
[END BLOCO]

<div>Nenhum conteúdo encontrado</div>

[FINALLY BLOCO]

Requerimento

  • PHP 8.4 ou superior

Support

License

The MiTemplate is provided under:

SPDX-License-Identifier: LGPL-2.1-only

Beign under the terms of the GNU Lesser General Public License version 2.1 only.

All contributions to the MiTemplate are subject to this license.