PHPackages                             little-polar-apps/ets - 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. little-polar-apps/ets

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

little-polar-apps/ets
=====================

PHP Easy Template System

2.0.0.x-dev(3y ago)0370PHPPHP &gt;=8.0.0

Since Jun 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/Little-Polar-Apps/ets)[ Packagist](https://packagist.org/packages/little-polar-apps/ets)[ RSS](/packages/little-polar-apps-ets/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (3)Used By (0)

ETS
===

[](#ets)

Easy Template System for PHP

Originally developed by Franck Marcia adopted by Ian Tearle as template language of choice for Expanse CMS. The main ets.php serves as the default master copy of ETS, with this repoistory acting as a location for plugins and usage examples for other projects.

It is not expected for the ets.php file to change much. If you spot anything that needs improvements please, fork and pull request.

Installation
============

[](#installation)

Install Composer in your project:

```
    curl -s http://getcomposer.org/installer | php

```

Create a `composer.json` file in your project root:

```
{
    "require": {
        "little-polar-apps/ets": "dev-master"
    }
}
```

Install via Composer

```
php composer.phar install

```

Set DEFINED variables
=====================

[](#set-defined-variables)

You need to set the 'ets\_source\_read\_handler' locations in order for ETS to know your templates directories, so that you are able to use {include:} and {insert:} correctly from your templates folder.

The function has already been included in ETS, but you will need to set the following defined variable:

```
define('ETS_TEMPLATESPATH', dirname(__FILE__) . '/templates');

```

Optionally
==========

[](#optionally)

In addition to the source read handler two more functions are provided that set cache directory read and write.

Set the file path as a defined variable

```
define('ETS_THEMEFILEPATH', dirname(__FILE__));

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

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

Every ~2271 days

Total

2

Last Release

1354d ago

Major Versions

1.0.0.x-dev → 2.0.0.x-dev2022-08-26

PHP version history (2 changes)1.0.0.x-devPHP &gt;=5.3.0

2.0.0.x-devPHP &gt;=8.0.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/201174?v=4)[Ian Tearle](/maintainers/iantearle)[@iantearle](https://github.com/iantearle)

---

Top Contributors

[![iantearle](https://avatars.githubusercontent.com/u/201174?v=4)](https://github.com/iantearle "iantearle (21 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/little-polar-apps-ets/health.svg)

```
[![Health](https://phpackages.com/badges/little-polar-apps-ets/health.svg)](https://phpackages.com/packages/little-polar-apps-ets)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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