PHPackages                             zerkalica/millwright-filter-bundle - 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. zerkalica/millwright-filter-bundle

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

zerkalica/millwright-filter-bundle
==================================

Millwright filter bundle: glue together KnpPaginatorBundle and LexikFormFilterBundle

0934PHP

Since Oct 19Pushed 13y ago4 watchersCompare

[ Source](https://github.com/zerkalica/MillwrightFilterBundleBundle)[ Packagist](https://packagist.org/packages/zerkalica/millwright-filter-bundle)[ RSS](/packages/zerkalica-millwright-filter-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

MillwrightFilterBundle
======================

[](#millwrightfilterbundle)

Glue together KnpPaginatorBundle and LexikFormFilterBundle.

- Inject service @millwright\_filter.paginator
- Use PaginatorInterface $paginator;
- Use $this-&gt;paginator-&gt;paginate($builder, 'users', $form);
- builder - QueryBuilder or something to paginate
- 'user' - paginator parameters and query builder namespce
- form - filter form, see LexikFormFilterBundle

Services
========

[](#services)

millwright\_filter.registry used for storing query parameters (see OptionsRegistryInterface)

Twig functions
==============

[](#twig-functions)

Used for saving paginator and filter state in get parameters.

options\_registry(exclude\_namespace, overrides) - returns array, used for sharing query parameters between filter form and paginator:

```
{% beginmacro form(form, attributes) %}

    {{ form_widget(form) }}
    {#
        options_registry(form.vars.name) - build http query with all stored parameters, except this form
    #}
    {% for key, value in options_registry(form.vars.name) %}

    {% endfor %}

{% endmacro form %}

```

options\_query(overrides, exlude\_namespace) - returns string, builds http query, used for links (paginator, filters state):

```
Prev
Next
```

In controller:

```
    /** @var $options \Millwright\Util\Request\OptionRegistryInterface */
    $options = $this->get('millwright_filter.registry');
    $options->addOption('current', $currentDate->format(DateUtil::SQL_DATE));

    return array('next' => 'next week', 'prev' => 'prev week', 'paginator' => $paginator, 'filter' => $form);
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/06052ad7decfcf0505d3e9bd0d7c51eeb95317020bc52e71551941aa8fabe99a?d=identicon)[zerkalica](/maintainers/zerkalica)

---

Top Contributors

[![zerkalica](https://avatars.githubusercontent.com/u/274786?v=4)](https://github.com/zerkalica "zerkalica (6 commits)")

### Embed Badge

![Health badge](/badges/zerkalica-millwright-filter-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/zerkalica-millwright-filter-bundle/health.svg)](https://phpackages.com/packages/zerkalica-millwright-filter-bundle)
```

PHPackages © 2026

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