PHPackages                             micropackage/templates - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. micropackage/templates

ActiveLibrary[Templating &amp; Views](/categories/templating)

micropackage/templates
======================

Simple PHP template engine which is easy to use

1.1.6(4y ago)2920.9k5GPL-3.0-or-laterPHPPHP &gt;=5.6CI failing

Since Jan 30Pushed 4y ago3 watchersCompare

[ Source](https://github.com/micropackage/templates)[ Packagist](https://packagist.org/packages/micropackage/templates)[ RSS](/packages/micropackage-templates/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (6)Dependencies (6)Versions (10)Used By (0)

Templates
=========

[](#templates)

[![BracketSpace Micropackage](https://camo.githubusercontent.com/7a9f5ff780f859fdebce60d4e11572de05f86c42ef96b77967c24d7ea7d1e04b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f427261636b657453706163652d4d6963726f7061636b6167652d627269676874677265656e)](https://bracketspace.com)[![Latest Stable Version](https://camo.githubusercontent.com/3cd1c98fb948d02568f2e062f714ac76379fd653e9fae6a4e78e8e62e60c41e6/68747470733a2f2f706f7365722e707567782e6f72672f6d6963726f7061636b6167652f74656d706c617465732f762f737461626c65)](https://packagist.org/packages/micropackage/templates)[![PHP from Packagist](https://camo.githubusercontent.com/6457678702c38955244c4dd5d56ac8ccc268f7ed5eeb2cc4fb6997e0e4945665/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d6963726f7061636b6167652f74656d706c617465732e737667)](https://packagist.org/packages/micropackage/templates)[![Total Downloads](https://camo.githubusercontent.com/5e8989645323a2b623cc47045a69c2e2c89608378b7b9aadc31041fb674f80dc/68747470733a2f2f706f7365722e707567782e6f72672f6d6963726f7061636b6167652f74656d706c617465732f646f776e6c6f616473)](https://packagist.org/packages/micropackage/templates)[![License](https://camo.githubusercontent.com/468fd11f4bfec5977f93f24da048dc4b5f0763a2228d28402f28514c1fefc7ea/68747470733a2f2f706f7365722e707567782e6f72672f6d6963726f7061636b6167652f74656d706c617465732f6c6963656e7365)](https://packagist.org/packages/micropackage/templates)

 [![Micropackage logo](https://camo.githubusercontent.com/9b9fc4f221b3683db4f9cc63e1ed92220004bbda118206d0a26d5ce6377d4d46/68747470733a2f2f627261636b657473706163652e636f6d2f6578747261732f6d6963726f7061636b6167652f6d6963726f7061636b6167652d736d616c6c2e706e67)](https://camo.githubusercontent.com/9b9fc4f221b3683db4f9cc63e1ed92220004bbda118206d0a26d5ce6377d4d46/68747470733a2f2f627261636b657473706163652e636f6d2f6578747261732f6d6963726f7061636b6167652f6d6963726f7061636b6167652d736d616c6c2e706e67)

🧬 About Templates
-----------------

[](#-about-templates)

Templates micropackage is very simple WordPress template engine with multi-storage support. The templates are not parsed or cached like Blade or Twig templates. It's just good ol' file loader with variable support.

💾 Installation
--------------

[](#-installation)

```
composer require micropackage/templates
```

🕹 Usage
-------

[](#-usage)

Let's assume your template tree looks like this:

```
my-plugin/
├── admin/
│   └── templates/
│      ├── notice.php
│      └── settings.php
└── frontend/
    └── templates/
       ├── profile.php
       └── welcome.php

```

First, you need to define at least one template storage. In the above case we have two places with templates.

```
Micropackage\Templates\Storage::add( 'admin', $plugin_dir . '/admin/templates' );
Micropackage\Templates\Storage::add( 'frontend', $plugin_dir . '/frontend/templates' );
```

Then you can easily render template:

```
$template = new Micropackage\Templates\Template( 'frontend', 'profile', [
	'user_name' => $user_name,
	'posts'     => get_posts( [ 'author' => $user_id ] ),
] );

$template->render();
```

The template file could look like this:

```
Howdy,
