PHPackages                             guglielmopepe/tiler - 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. guglielmopepe/tiler

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

guglielmopepe/tiler
===================

Tiler provides a flexible, fast, and secure template engine.

1.0.0(4y ago)09[3 issues](https://github.com/GuglielmoPepe/tiler/issues)MITPHPPHP ^8.0

Since Jan 16Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/GuglielmoPepe/tiler)[ Packagist](https://packagist.org/packages/guglielmopepe/tiler)[ RSS](/packages/guglielmopepe-tiler/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Tiler
=====

[](#tiler)

Tiler provides a flexible, fast and secure template engine.

Table of Contents
-----------------

[](#table-of-contents)

- [Benefits](#benefits)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Support](#support)
- [Faq](#faq)
- [Contributing](#contributing)
- [Contacts](#contacts)
- [Roadmap](#roadmap)
- [Change log](#change-log)
- [License](#license)

Benefits
--------

[](#benefits)

- Tiler is object oriented pattern
- Tiler don't force yourself to learn something new
- Tiler is simple like PHP, is powerful like PHP

Features
--------

[](#features)

Tiler allows you to create child themes, parent themes and ancestor themes.

Tiler will check if the required template is present in the child theme otherwise it will look for it in the parent theme and continue along the chain of themes.

If Tiler it doesn't find the template in the parent theme it will throw an exception.

Installation
------------

[](#installation)

Use Composer

```
$ composer require guglielmopepe/tiler
```

Usage
-----

[](#usage)

Tiler use a Chain of Responsability design pattern.

This is a template in /child/theme directory:

```
// path file: /child/theme/template.php

```

This is a template in /parent/theme directory:

```
// path file: /parent/theme/template.php

```

This is a template in /ancestor/theme directory:

```
// path file: /ancestor/theme/template.php

```

Tiler will check if the required template is present in the child theme otherwise it will look for it in the parent theme and continue along the chain of themes.

```
$data = new \Classes\Data(['foo'=>'bar']);

$handler = new \Tiler\Classes\Handler('/directory/of/child/theme');
$handler->connect(new \Tiler\Classes\Handler('/directory/of/parent/theme'));
$handler->connect(new \Tiler\Classes\Handler('/directory/of/ancestor/theme'));

$command = new \Tiler\Classes\Command($data, $handler);
echo $command->render('/template.php');
```

Support
-------

[](#support)

If you have a request, please create a GitHub [issue](https://github.com/GuglielmoPepe/tiler/issues).

If you discover a security vulnerability, please send an email to Guglielmo Pepe at [info@guglielmopepe.com](mailto:%69%6e%66%6f%40%67%75%67%6c%69%65%6c%6d%6f%70%65%70%65%2e%63%6f%6d). All security vulnerabilities will be promptly addressed.

FAQ
---

[](#faq)

### Why use Data class with ArrayAccess interface?

[](#why-use-data-class-with-arrayaccess-interface)

The Data class allows you to pass data as if it were an array, but by extending the class you can also pass a Service Locator: you have an HMVC.

### Why does Tiler have three separate classes?

[](#why-does-tiler-have-three-separate-classes)

Tiler has three separate classes for maximum flexibility:

- You can use the Data class with a service Locator or as a Simple array;
- You can use the Handler class in combination with a Strategy to load the template on a per-user basis;
- You can use the Command class in conjunction with a Proxy to delay loading data into the template.

Contributing
------------

[](#contributing)

If you want to say **thank you** and/or support the active development of `tiler`:

1. Add a [GitHub Star](https://github.com/GuglielmoPepe/tiler/stargazers) to the project.
2. Share the project on social media.
3. Write a review or tutorial on [Medium](https://medium.com/), [Dev.to](https://dev.to/) or personal blog.

Contacts
--------

[](#contacts)

If you need information please send an email to [info@guglielmopepe.com](mailto:%69%6e%66%6f%40%67%75%67%6c%69%65%6c%6d%6f%70%65%70%65%2e%63%6f%6d).

Roadmap
-------

[](#roadmap)

See the list of [open issues](https://github.com/GuglielmoPepe/tiler/issues):

- [enhancement](https://github.com/GuglielmoPepe/tiler/issues?q=label%3Aenhancement+is%3Aopen+sort%3Areactions-%2B1-desc)
- [bugs](https://github.com/GuglielmoPepe/tiler/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Areactions-%2B1-desc)

Change log
----------

[](#change-log)

Please see [Changelog file](CHANGELOG.md) for more information on what has changed recently.

License
-------

[](#license)

Distributed under the MIT License. Please see [License File](LICENSE) for more information.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance61

Regular maintenance activity

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1577d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/78403a0da6c632ef8031333aec102230dcd8ddabbc62576fd74c5e84c6122b1b?d=identicon)[Guglielmo Pepe](/maintainers/Guglielmo%20Pepe)

---

Top Contributors

[![GuglielmoPepe](https://avatars.githubusercontent.com/u/1424836?v=4)](https://github.com/GuglielmoPepe "GuglielmoPepe (22 commits)")

---

Tags

phptemplate-enginetemplateengine

### Embed Badge

![Health badge](/badges/guglielmopepe-tiler/health.svg)

```
[![Health](https://phpackages.com/badges/guglielmopepe-tiler/health.svg)](https://phpackages.com/packages/guglielmopepe-tiler)
```

###  Alternatives

[latte/latte

☕ Latte: the intuitive and fast template engine for those who want the most secure PHP sites. Introduces context-sensitive escaping.

1.3k15.7M683](/packages/latte-latte)[anourvalar/office

Generate documents from existing Excel &amp; Word templates | Export tables to Excel (Grids)

24085.2k](/packages/anourvalar-office)[templavoilaplus/templavoilaplus

Building kit for custom pages and content elements with individual fields, containers and backend layouts. Supporting drag'n'drop and multiple references.

2637.6k13](/packages/templavoilaplus-templavoilaplus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
