PHPackages                             dhii/output-renderer-interface - 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. dhii/output-renderer-interface

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

dhii/output-renderer-interface
==============================

An interface for objects that can perform rendering.

v0.3(6y ago)050.1k[2 issues](https://github.com/Dhii/output-renderer-interface/issues)13MITPHPPHP ^5.3 | ^7.0CI failing

Since Sep 8Pushed 5y ago3 watchersCompare

[ Source](https://github.com/Dhii/output-renderer-interface)[ Packagist](https://packagist.org/packages/dhii/output-renderer-interface)[ RSS](/packages/dhii-output-renderer-interface/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (6)Dependencies (8)Versions (8)Used By (13)

Dhii - Output - Renderer - Interface
====================================

[](#dhii---output---renderer---interface)

[![Continuous Integration](https://github.com/Dhii/delimited-token-template/actions/workflows/continuous-integration.yml/badge.svg)](https://github.com/Dhii/delimited-token-template/actions/workflows/continuous-integration.yml)[![Latest Stable Version](https://camo.githubusercontent.com/8d7db6a0c963b06d13a620d5ec2775f29ac2fde8730abe62c5c86d2d6c6327ed/68747470733a2f2f706f7365722e707567782e6f72672f646869692f6f75747075742d72656e64657265722d696e746572666163652f76657273696f6e)](https://packagist.org/packages/dhii/output-renderer-interface)[![Latest Unstable Version](https://camo.githubusercontent.com/df5a7a0eedfe6b60ef6e83a45980d23ffb473c74fe507e05bb2d5b347b61ac4e/68747470733a2f2f706f7365722e707567782e6f72672f646869692f6f75747075742d72656e64657265722d696e746572666163652f762f756e737461626c65)](//packagist.org/packages/dhii/output-renderer-interface)

Interfaces for rendering interoperability.

Details
-------

[](#details)

Like other members of the `Dhii\Output` namespace, interfaces in this package are related to producing output, handling related errors, and providing convenience around output functionality. Particularly, interfaces in this package are at the core of output generation, defining a standard API for anything that can render output.

Therefore, output renderers MUST implement `RendererInterface`. If `RendererInterface#render()` is unable to produce output, a `CouldNotRenderExceptionInterface` MUST be thrown.

### Interfaces

[](#interfaces)

- [`RendererInterface`](src/RendererInterface.php) - Represents a renderer, i.e. something that can produce output.
- [`TemplateInterface`](src/Template/TemplateInterface.php) - A renderer that uses context to render.
- [`PathTemplateFactoryInterface`](src/Template/PathTemplateFactoryInterface.php) - A factory that creates templates from paths.
- [`StringTemplateFactoryInterface`](src/Template/StringTemplateFactoryInterface.php) - A factory that creates templates from strings.
- [`BlockInterface`](src/Block/BlockInterface.php) - A renderer that has access to the render context, and is also [stringable](https://github.com/Dhii/stringable-interface).
- [`CallbackBlockFactoryInterface`](src/Block/BlockFactoryInterface.php) - A factory that creates blocks from callbacks.
- [`StringBlockFactoryInterface`](src/Block/StringBlockFactoryInterface.php) - A factory that creates blocks from strings.
- [`TemplateBlockFactoryInterface`](src/Block/TemplateBlockFactoryInterface.php) - A factory that creates blocks from templates.
- [`RendererAwareInterface`](src/RendererAwareInterface.php) - Something that exposes a renderer.
- [`ContextAwareInterface`](src/ContextAwareInterface.php) - Something that can have a rendering context retrieved.
- [`BlockAwareInterface`](src/Block/BlockAwareInterface.php) - Something that can have a block retrieved.
- [`TemplateAwareInterface`](src/Template/TemplateAwareInterface.php) - Something that can have a template retrieved.
- [`RendererExceptionInterface`](src/Exception/RendererExceptionInterface.php) - An exception that occurs in relation to a renderer, and is aware of it.
- [`CouldNotRenderExceptionInterface`](src/Exception/CouldNotRenderExceptionInterface.php) - A specialized renderer exception that signals problems during rendering.
- [`TemplateRenderExceptionInterface`](src/Exception/ContextRenderExceptionInterface.php) - A specialized "could-not-render" exception that is aware of the rendering context.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 86.5% 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 ~252 days

Recently: every ~309 days

Total

6

Last Release

1910d ago

PHP version history (2 changes)v0.1PHP ^5.3 | ^7.0

v0.4-alpha1PHP ^7.1 | ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/1894e91b32c9f80d8f30a42d360af6983a507f1cf2c621b7c9a0a0de14e011c5?d=identicon)[XedinUnknown](/maintainers/XedinUnknown)

---

Top Contributors

[![XedinUnknown](https://avatars.githubusercontent.com/u/1428973?v=4)](https://github.com/XedinUnknown "XedinUnknown (148 commits)")[![mecha](https://avatars.githubusercontent.com/u/5425482?v=4)](https://github.com/mecha "mecha (23 commits)")

---

Tags

outputstandard

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/dhii-output-renderer-interface/health.svg)

```
[![Health](https://phpackages.com/badges/dhii-output-renderer-interface/health.svg)](https://phpackages.com/packages/dhii-output-renderer-interface)
```

###  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)
