Download

Download UIEngine

Current version v16 – externally security-audited, PHP 8.1+, zero dependencies.

What's included?

System requirements

Quick install

unzip UIEngine_v16.zipcd UIEngine
require 'src/Autoload.php';

Detailed steps including assigning variables and your first template are in the guide.

All versions

Older releases to install – each with change highlights and its own download count.

v16 Latest
Released: 2026-10-02 Size: 108 KB Downloads: 1
↓ Download
Changes
  • KRITISCH – Stored-RCE über den Seiten-Cache geschlossen.
  • {math} Division/Modulo durch Null warf einen ungefangenen
  • {for … step 0} erzeugte eine Endlosschleife – jetzt durch ein
  • Log-Injection – Logger neutralisiert Zeilenumbrüche in
  • Seiten-Cache-Invalidierung berücksichtigt jetzt {include}/
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v15
Released: 2026-07-31 Size: 104 KB Downloads: 0
↓ Download
Changes
  • {fetch}-Path-Traversal-Bypass (mittel-hoch, LFI/SSRF):
  • {$engine.const.*} gab standardmäßig alle PHP-Konstanten frei
  • CacheManager::__construct(null) crashte beim ersten Zugriff auf
  • Debug war standardmäßig aktiviert (__construct(bool $status = true)):
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v14
Released: 2026-07-19 Size: 101 KB Downloads: 0
↓ Download
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v12
Released: 2026-07-19 Size: 93 KB Downloads: 0
↓ Download
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v11
Released: 2026-07-19 Size: 92 KB Downloads: 0
↓ Download
Changes
  • composer.json mit PSR-4-Autoloading unter UIEngine\ ergänzt.
  • src/libs/ → src/Libs/ umbenannt, damit Ordner-Großschreibung exakt zum
  • src/Autoload.php entsprechend vereinfacht (kein Spezialfall mehr nötig).
  • demo/example.php bevorzugt jetzt vendor/autoload.php, falls per
  • phpunit.xml + tests/ mit ExpressionCompilerTest (Sicherheitsgrenzen:
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v10
Released: 2026-07-19 Size: 78 KB Downloads: 0
↓ Download
Changes
  • Die interne Hilfsklasse für {$engine.const.*} wurde umbenannt zu
  • Die private Methode zum Aufbau der reservierten Variable heißt jetzt
  • Alle Doku-Kommentare mit vergleichenden Formulierungen umformuliert, ohne
  • Alle Demo-Templates (docs-full.tpl, _cache-demo.tpl, _nocache-demo.tpl,
  • Alle bisherigen Changelog-Einträge (v2-v9) nachträglich umformuliert, damit
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v9
Released: 2026-07-19 Size: 78 KB Downloads: 0
↓ Download
Changes
  • {nocache}...{/nocache}: schließt die in Schritt 3 dokumentierte
  • {eval var=$expr assign=x}: kompiliert einen String zur Laufzeit als
  • {fetch file='pfad-oder-url' assign=x}: liest eine lokale Datei oder
  • {insert} bewusst NICHT nachgebaut (in vielen modernen Template-Engines aus denselben Gründen mittlerweile
  • HTML-Formular-Helfer als neue Klasse HtmlHelpers (statische Methoden
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v8
Released: 2026-07-19 Size: 70 KB Downloads: 0
↓ Download
Changes
  • {for $i=1 to 10 step 1}...{/for}: klassische Zählschleife. Die
  • {while $expr}...{/while}: kopfgesteuerte Schleife.
  • {break} / {continue}: Schleifensteuerung für {foreach}, {for}
  • {counter name=x start=1 step=1 print=true assign=y}: eigenständiger
  • {cycle values='a,b,c' name=x}: wechselt bei jedem Aufruf durch eine
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v7
Released: 2026-07-19 Size: 65 KB Downloads: 0
↓ Download
Changes
  • Neue Modifier: cat, count_characters, count_paragraphs,
  • {$var=wert}: Kurzform für {assign var=var value=wert}.
  • {append var=x value=y}: hängt einen Wert an eine (Array-)
  • {ldelim} / {rdelim}: geben die aktuell konfigurierten
  • docs-full.tpl um Abschnitt "1g" mit Live-Beispielen aller Stufe-A-
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v6
Released: 2026-07-19 Size: 63 KB Downloads: 0
↓ Download
Changes
  • Alle betroffenen Doku-Kommentare/Fließtext-Erwähnungen in docs-full.tpl
  • Compiler robuster gemacht: {if}/{elseif}/{else}/{/if} und
  • {/blockplugin} ohne zugehöriges {blockplugin} löst jetzt eine
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v5
Released: 2026-07-19 Size: 61 KB Downloads: 0
↓ Download
Changes
  • Block-Plugins: PluginManager::registerBlock($name, $handler) +
  • Compiler-Plugins: TemplateCompiler::registerCustomTag($name, $fn)
  • Pre-/Post-/Output-Filter: Template::registerPreFilter() (läuft auf
  • Echtes Seiten-Output-Caching: display($file, $cacheId, $lifetime) -
  • Konfigurierbare Security-Sandbox: neue Klasse SecurityPolicy +
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v4
Released: 2026-07-19 Size: 53 KB Downloads: 0
↓ Download
Changes
  • {function name=x param=default}...{/function}: Wiederverwendbare
  • {block name append} / {block name prepend}: Kind-Templates können
  • {$engine.now} / {$engine.const.NAME} / {$engine.template}:
  • Konfigurierbare Tag-Delimiter: TemplateCompiler::setDelimiters($left, $right)
  • docs-full.tpl um die Abschnitte "1d" (Funktionen/$engine) erweitert,
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v3
Released: 2026-07-19 Size: 47 KB Downloads: 0
↓ Download
Changes
  • {foreach}-Metadaten: $item@index (0-basiert), $item@iteration
  • |escape:'url' und |escape:'javascript' als zusätzliche
  • {strip}...{/strip}: Entfernt Whitespace zwischen HTML-Tags im
  • Demos für alle drei Features in docs-full.tpl ergänzt (Abschnitte "1b"
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v2
Released: 2026-07-19 Size: 44 KB Downloads: 0
↓ Download
Changes
  • {math ...} war praktisch eval(): Der rohe Ausdruck wurde 1:1 in
  • {plugin args='...'} interpolierte den args-String roh in Code.
  • Path Traversal in Template::display()/neu renderInclude().
  • DEV_MODE/DISPLAY_ERRORS standardmäßig true. Jetzt standardmäßig
  • PathManager::getAsset(): Durch die Operator-Priorität von . vor ??
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.
v1
Released: 2026-07-19 Size: 33 KB Downloads: 0
↓ Download
Comments (0)

No comments on this version yet – be the first!

Write a comment

Code: ```lang … ``` for code blocks, `…` for inline code.

No login required. Please do not post personal data.

License

The exact license terms are included in the download package. Check there first for any questions about usage in your project.