pavel852 / php-templates
Simple templating system for PHP.
2.6
2024-10-28 07:57 UTC
Requires
- php: >=7.0
- pavel852/latex: >=2.0
README
templates.php
je jednoduchý templating systém pro PHP, který odděluje logiku aplikace od její prezentace. Systém pracuje s HTML šablonami obsahujícími vlastní <tmpl:xxx>
tagy a {promenna}
zástupné symboly. Tento systém umožňuje generovat dynamický obsah, spravovat iterace a vkládat šablony do hlavní šablony.
Funkce a použití
Hlavní funkce knihovny templates.php
-
tmpl_open($filename)
- Načte šablonu ze souboru a vrátí objekt šablony pro další manipulaci.
- Příklad použití:
<?php $t = tmpl_open("example.html"); ?>
-
tmpl_close($t)
- Uzavře objekt šablony a uvolní zdroje.
- Použití:
<?php tmpl_close($t); ?>
-
tmpl_set($t, $path_or_key, $value)
- Nastaví hodnotu pro zástupný symbol
{promenna}
nebo tag v šabloně. - Příklad:
<?php tmpl_set($t, "title", "Moje stránka"); tmpl_set($t, "header_text", "Vítejte!"); ?>
- Nastaví hodnotu pro zástupný symbol
-
tmpl_set_array($t, $array)
- Nastaví více hodnot najednou pomocí asociativního pole.
- Příklad:
<?php $data = [ "title" => "Moje stránka", "header_text" => "Vítejte!", "content" => "Toto je obsah stránky." ]; tmpl_set_array($t, $data); ?>
-
tmpl_iterate($t, $path)
- Umožňuje iteraci přes specifický tag v šabloně.
- Příklad:
<?php tmpl_iterate($t, "menu_items"); ?>
-
tmpl_parse($t, $path = null)
- Zpracuje šablonu a vrátí výsledný HTML.
- Příklad:
<?php echo tmpl_parse($t); ?>
-
tmpl_include($t, $path, $filename)
- Vloží jinou šablonu do aktuální šablony na specifikované místo.
- Příklad:
<?php tmpl_include($t, "header", "header_template.html"); ?>
-
tmpl_exists($t, $path)
- Kontroluje, zda v šabloně existuje daný tag nebo cesta.
- Příklad:
<?php if (tmpl_exists($t, "footer")) { tmpl_set($t, "footer", "Zápatí existuje!"); } ?>
Příklady použití
Příklad 1: Základní šablona a vkládání hodnot
HTML šablona - example.html
<html> <head><title>{title}</title></head> <body> <h1>{header_text}</h1> <p>{content}</p> </body> </html>
PHP skript
<?php require_once 'templates.php'; $t = tmpl_open("example.html"); tmpl_set($t, "title", "Moje Stránka"); tmpl_set($t, "header_text", "Vítejte!"); tmpl_set($t, "content", "Toto je obsah stránky."); echo tmpl_parse($t); tmpl_close($t); ?>
Příklad 2: Iterace a vkládání dalších šablon
HTML šablona - menu.html
<ul> <tmpl:menu_items> <li><a href="{link}">{name}</a></li> </tmpl:menu_items> </ul>
PHP skript
<?php $t = tmpl_open("menu.html"); $menu_items = [ ["name" => "Domů", "link" => "/home"], ["name" => "O nás", "link" => "/about"], ["name" => "Kontakt", "link" => "/contact"] ]; tmpl_set_iarray($t, "menu_items", $menu_items); echo tmpl_parse($t); tmpl_close($t); ?>
Autor a Kontakt
Composer Setup
- Updating Dependencies: Run
composer update
to update all dependencies as per the project'scomposer.json
file. - Installing the New Package: Run
composer require pavel852/php-templates
to install thepavel852/php-templates
package. This package allows for handling HTML templates with ease.
Usage Instructions
To utilize the package in your project, follow these steps:
- Add all dependencies by including
require 'vendor/autoload.php';
at the beginning of your PHP file. - Import the package with
use pavel852/php-templates;
to access its functionalities. - You can open a template using
$t = tmpl_open('xxx.html');
, wherexxx.html
is the HTML template file you want to work with.