stefgodin / notmpl
轻量级的PHP模板引擎,利用PHP原生渲染和输出缓冲。
v0.7.1
2024-06-21 12:56 UTC
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
README
NoTMPL
NoTMPL是一个专为PHP后端开发者设计的轻量级无模板渲染引擎。
- ☑ 无依赖项
- ☑ 轻量级代码库(< 1000 LOC)
- ☑ 无缓存目录
- ☑ 无eval
- ☑ 使用组件和插槽组合页面
- ☑ 无自动转义
- ☑ 无沙盒
安装
使用Composer安装库
composer require stefgodin/notmpl
要求
此库需要PHP 8.1+
快速浏览
<?php // index.php use StefGodin\NoTmpl\NoTmpl; require_once __DIR__.'/../vendor/autoload.php' $noTmpl = new NoTmpl(); echo $noTmpl->render('main.php', ['title' => 'My custom title']); /* <div>A header</div> <h1>My custom title</h1> <div> <div> <h2>My content</h2> </div> </div> <div>A footer</div> */
<?php // main.php namespace StefGodin\NoTmpl; /** * @var string $title */ ?> <?php component('page.php') ?> <?php use_slot('header') ?> <h1><?php e($title) ?></h1> <?php use_slot_end() ?> <div> <h2>My content</h2> </div> <?php component_end() ?> <div>A footer</div>
<?php // page.php namespace StefGodin\NoTmpl; ?> <div>A header</div> <?php slot('header') ?> <h1>My normal title</h1> <?php slot_end() ?> <div> <?php slot() ?> <div>Some default content</div> <?php slot_end() ?> </div>