🦖
[] codesaur/template 1=[]
codesaur/template · v4.1.1

Template

Бие даасан PHP template engine - filters, functions, macros, expression parser

Packagist version Downloads PHP version License Aikido Intel 98/100
1:1 ══ composer require codesaur/template
[] Template

Хөгжлийн явцад Twig template engine-ийн синтакс, дизайн загвараас санаа авч чадамжуудаа өргөжүүлсэн минимал PHP template engine. Энгийн текст-суурьтай темплейтээс эхлээд if / for / macro / filter бүхий хүчирхэг темплейт хүртэл дэмждэг. Гадны хамааралгүй, нэг файлаас ажиллана.

Онцлогууд
  • if / elseif / else, for / else, set, macro бүтцүүд
  • Expression parser: ?:, ??, ~, in, not in, starts with, ends with, matches, ternary
  • 30+ бэлэн filter: e, date, length, slice, json_encode, merge, replace, number_format ...
  • addFilter() / addFunction() - өөрийн filter, function бүртгэх
  • Объектын public метод дуудах: {{ user.can("perm") }}
  • range(), max(), min(), attribute() функцүүд
  • MemoryTemplate (string) ба FileTemplate (файл) хоёр хэлбэр

Үндсэн классууд

КлассҮүрэг
MemoryTemplateБүрэн template engine (if, for, filter, function, macro, expression parser)
FileTemplateФайлын системээс template уншиж рэндэрлэх (MemoryTemplate-ийг өргөтгөнө)

Жишээ код

use codesaur\Template\MemoryTemplate;
use codesaur\Template\FileTemplate;

// Бүрэн engine - if, for, filter, function бүгд дэмжинэ
$page = new MemoryTemplate(
    '{% for item in items %}<li>{{ item|upper }}</li>{% endfor %}',
    ['items' => ['a', 'b', 'c']]
);
echo $page;

// Файл суурьтай template
$page = new FileTemplate('page.html', [
    'title' => 'Hello',
    'items' => ['a', 'b', 'c']
]);
$page->addFunction('link', fn($route) => "/app/$route");
echo $page;

Тест ажиллуулах

composer test
[] Info
Суулгах
composer require codesaur/template
Шаардлага
  • PHP 8.2.1+
  • ext-json
  • ext-mbstring
  • Composer
Aikido оноо 98/100
Шалгасан: 2026-09-04
Холбоосууд