codesaur / template
Бие даасан PHP template engine. Хөгжлийн явцад Twig-ийн синтаксаас санаа авч чадамжуудаа өргөжүүлсэн. Filters, functions, macros, expression parser бүхий хөнгөн, хурдан загварчлагч
Requires
- php: ^8.2.1
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2026-03-30 15:10:07 UTC
README
Агуулга / Table of Contents
- Монгол | 2. English | 3. Getting Started
1. Монгол тайлбар
Бие даасан PHP template engine. Хөгжлийн явцад Twig template engine-ийн синтакс, дизайн загвараас санаа авч чадамжуудаа өргөжүүлсэн.
codesaur/template нь codesaur ecosystem-ийн нэг хэсэг бөгөөд
энгийн текст-суурьтай темплейтээс эхлээд if/for/macro/filter бүхий
хүчирхэг темплейт хүртэл дэмждэг минимал PHP template engine юм.
Багц нь дараах 2 үндсэн class-аас бүрдэнэ:
- MemoryTemplate - бүрэн template engine (if, for, filter, function, macro, expression parser)
- FileTemplate - файлын системээс template уншиж рэндэрлэх (MemoryTemplate-ийг өргөтгөнө)
Дэлгэрэнгүй мэдээлэл
- Бүрэн танилцуулга - Суурилуулалт, хэрэглээ, жишээнүүд
- API тайлбар - Бүх метод, exception-уудийн тайлбар
- Шалгалтын тайлан - Код шалгалтын тайлан
2. English description
A self-contained PHP template engine. During its evolution, adopted syntax and design patterns inspired by Twig.
codesaur/template is part of the codesaur ecosystem - a minimal PHP
template engine supporting everything from simple text placeholders to
powerful templates with if/for/macro/filter syntax.
The package consists of 2 core classes:
- MemoryTemplate - full template engine (if, for, filter, function, macro, expression parser)
- FileTemplate - file-based template loader (extends MemoryTemplate)
Documentation
- Full Documentation - Installation, usage, examples
- API Reference - Complete API documentation
- Review - Code review report
3. Getting Started
Requirements
- PHP 8.2.1+ (json, mbstring extensions)
- Composer
Installation
Composer ашиглан суулгана / Install via Composer:
composer require codesaur/template
Quick Example
use codesaur\Template\MemoryTemplate; // Бүрэн engine - if, for, filter, function бүгд дэмжинэ $page = new MemoryTemplate( '{% for item in items %}<li>{{ item|upper }}</li>{% endfor %}', ['items' => ['a', 'b', 'c']] ); echo $page;
use codesaur\Template\FileTemplate; // Файл суурьтай template $page = new FileTemplate('page.html', [ 'title' => 'Hello', 'items' => ['a', 'b', 'c'] ]); $page->addFunction('link', fn($route) => "/app/$route"); echo $page;
<!-- page.html --> <h1>{{ title }}</h1> <a href="{{ link('home') }}">Home</a> <ul> {% for item in items %} <li>{{ item }}</li> {% endfor %} </ul>
Running Tests
Тест ажиллуулах / Run tests:
composer test
Changelog
- CHANGELOG.md - Full version history
Contributing & Security
License
This project is licensed under the MIT License.
Author
Narankhuu
codesaur@gmail.com
https://github.com/codesaur
codesaur Ecosystem: https://codesaur.net