PHPackages                             nepada/presenter-mapping - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. nepada/presenter-mapping

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nepada/presenter-mapping
========================

Improved presenter mapping for PresenterFactory from Nette.

v2.6.1(3mo ago)735.5k↓32.8%1BSD-3-ClausePHPPHP &gt;=8.1.0 &lt;8.6CI passing

Since Aug 24Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/nepada/presenter-mapping)[ Packagist](https://packagist.org/packages/nepada/presenter-mapping)[ RSS](/packages/nepada-presenter-mapping/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (19)Versions (25)Used By (1)

Presenter Mapping
=================

[](#presenter-mapping)

[![Build Status](https://github.com/nepada/presenter-mapping/workflows/CI/badge.svg)](https://github.com/nepada/presenter-mapping/actions?query=workflow%3ACI+branch%3Amaster)[![Coverage Status](https://camo.githubusercontent.com/1486843bc84459a73dd57cf01036e6148eaa5210a4789f0832bd2bb300f85186/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6e65706164612f70726573656e7465722d6d617070696e672f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/nepada/presenter-mapping?branch=master)[![Downloads this Month](https://camo.githubusercontent.com/e2f9be81ba1315eac3301a8065b1d3ce8b40fb7ef05292195ad20e9edbcd89e0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f6e65706164612f70726573656e7465722d6d617070696e672e737667)](https://packagist.org/packages/nepada/presenter-mapping)[![Latest stable](https://camo.githubusercontent.com/c230f07e433ed9480a97744bd7bd1ae37721b209201223d1da6171a77af5c003/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e65706164612f70726573656e7465722d6d617070696e672e737667)](https://packagist.org/packages/nepada/presenter-mapping)

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

[](#installation)

Via Composer:

```
$ composer require nepada/presenter-mapping
```

Register the extension in `config.neon`:

```
extensions:
    - Nepada\Bridges\PresenterMappingDI\PresenterMappingExtension
```

Usage
-----

[](#usage)

The extension replaces standard `PresenterFactory` provided by `ApplicationExtension` and adds extended support for presenter mapping. The new presenter mapping system is fully compatible with simple mapping from Nette.

### Submodule mapping

[](#submodule-mapping)

Nette supports mapping based only on the root module name, this package adds support for separate mapping for submodules. You can define different mapping for submodule `Foo:Bar` and it will take precendence over the mapping defined for `Foo` and `*` respectively.

Example:

```
application:
    mapping:
        '*': ['App', 'Module\*', 'Presenter\*']
        'Foo': Foo\*Module\*Presenter
        'Foo:Bar': Bar\*Module\*Presenter
```

### Presenter class mapping

[](#presenter-class-mapping)

You can define mapping between presenter name and class directly for individual presenters. This is especially useful when you need to override a single presenter from a module provided for example by external composer package.

Example:

```
application:
    mapping:
        'Foo:Bar:Baz': FooBar\BazPresenter
```

### Configuration from another `CompilerExtension`

[](#configuration-from-another-compilerextension)

Some extensions may need to setup their own presenter mappings, this can be done in `beforeCompile()` phase by customizing setup of `PresenterMapper`.

```
$presenterMapper = $containerBuilder->getByType(Nepada\PresenterMapping\PresenterMapper::class);
$containerBuilder->getDefinition($presenterMapper)
    ->addSetup('setPresenterMapping', ['Foo:Bar:Baz', FooBar\BazPresenter::class])
    ->addSetup('setModuleMapping', ['Foo:Bar', 'Bar\*Module\*Presenter'])
    ->addSetup('setModuleMapping', ['Foo', 'Foo\*Module\*Presenter']);
```

###  Health Score

60

—

FairBetter than 99% of packages

Maintenance87

Actively maintained with recent releases

Popularity33

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity90

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 53.1% 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 ~182 days

Recently: every ~277 days

Total

20

Last Release

90d ago

Major Versions

v1.2.1 → v2.0.02019-04-08

PHP version history (8 changes)v1.0.0PHP &gt;= 5.6.0

v1.1.0PHP &gt;=7.1.0

v2.1.0PHP &gt;=7.2.0

v2.2.0PHP &gt;=7.4.0

v2.4.1PHP &gt;=7.4.0 &lt;8.3

v2.5.0PHP &gt;=8.1.0 &lt;8.4

v2.5.1PHP &gt;=8.1.0 &lt;8.5

v2.6.0PHP &gt;=8.1.0 &lt;8.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/5b4780fe328102c4572737db639653c29d3081d1d3e051467f00d7f09a776399?d=identicon)[xificurk](/maintainers/xificurk)

---

Top Contributors

[![xificurk](https://avatars.githubusercontent.com/u/117465?v=4)](https://github.com/xificurk "xificurk (165 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (146 commits)")

---

Tags

nettemappingpresenter

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/nepada-presenter-mapping/health.svg)

```
[![Health](https://phpackages.com/badges/nepada-presenter-mapping/health.svg)](https://phpackages.com/packages/nepada-presenter-mapping)
```

###  Alternatives

[nette/php-generator

🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.5 features.

2.3k64.2M576](/packages/nette-php-generator)[nette/code-checker

✅ Nette CodeChecker: A simple tool to check source code against a set of Nette coding standards.

881.7M6](/packages/nette-code-checker)[contributte/menu-control

Menu control for Nette framework

29108.6k1](/packages/contributte-menu-control)[carrooi/nette-menu

Menu control for Nette framework

2950.0k1](/packages/carrooi-nette-menu)[uestla/twigrid

Experimental DataGrid for Nette Framework

1712.3k2](/packages/uestla-twigrid)

PHPackages © 2026

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