PHPackages                             wherd/signal - 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. wherd/signal

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

wherd/signal
============

Yet another template engine

v1.0.0(3y ago)011MITPHP

Since Feb 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/wherd/signal)[ Packagist](https://packagist.org/packages/wherd/signal)[ RSS](/packages/wherd-signal/feed)WikiDiscussions main Synced 3w ago

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

Signal
======

[](#signal)

Yet another template engine.

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

[](#installation)

Install using composer:

```
composer require wherd/signal
```

Introduction
------------

[](#introduction)

Signal is yet another simple templating engine. All Signal templates are compiled into plain PHP code and cached, meaning Signal adds essentially zero overhead to your application. Signal template files use the .signal.php file extension.

Create a signal instance by passing it the folder(s) where your view files are located. Render a template by calling the `render` method.

```
use Signal\Compiler;
use Signal\View;

$compiler = new Compiler(__DIR__ . '/views');
$compiler->setCacheDirectory(__DIR__ . '/tmp');

$signal = new View($compiler);

echo $signal->render('homepage', ['name' => 'John Doe']);
```

Displaying Data
---------------

[](#displaying-data)

You may display data that is passed to your Signal views by wrapping the variable. For example, given the following:

```
use Signal\Compiler;
use Signal\View;

$compiler = new Compiler(__DIR__ . '/views');
$compiler->setCacheDirectory(__DIR__ . '/tmp');

$signal = new View($compiler);

echo $signal->render('homepage', ['name' => 'John Doe']);
```

You may display the contents of the name variable like so:

`Hello, @{ $name }.`

You are not limited to displaying the contents of the variables passed to the view. You may also echo the results of any PHP function. In fact, you can put any PHP code you wish inside of a Signal statement:

`The current UNIX timestamp is @{ time() }}.`

Displaying Unescaped Data
-------------------------

[](#displaying-unescaped-data)

By default, Signal @{ } statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks. If you do not want your data to be escaped, you may use the following syntax:

`Hello, @{! $name }.`

// TODO

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

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

1236d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10581693?v=4)[wherd](/maintainers/wherd)[@wherd](https://github.com/wherd)

---

Top Contributors

[![wherd](https://avatars.githubusercontent.com/u/10581693?v=4)](https://github.com/wherd "wherd (1 commits)")

###  Code Quality

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/wherd-signal/health.svg)

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

###  Alternatives

[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3861.2M](/packages/limenius-react-bundle)[area17/laravel-auto-head-tags

Laravel Auto Head Tags helps you build the list of head elements for your app

4616.0k](/packages/area17-laravel-auto-head-tags)[jelix/wikirenderer

WikiRenderer is a library to generate HTML or anything else from wiki content.

1712.2k1](/packages/jelix-wikirenderer)[webkinder/sproutset

A Composer package for handling responsive images in Roots Bedrock + Sage + Blade projects.

291.8k](/packages/webkinder-sproutset)[awkwardideas/switchblade

Extended blade directives for laravel

102.1k](/packages/awkwardideas-switchblade)

PHPackages © 2026

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