PHPackages                             burdaforward/bf-prg-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. burdaforward/bf-prg-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

burdaforward/bf-prg-bundle
==========================

This bundle helps you to implement the PRG pattern into your application.

2.0.0(1y ago)05.3k1MITPHPPHP ^8.1

Since May 23Pushed 1y ago10 watchersCompare

[ Source](https://github.com/BurdaForward/BFPrgBundle)[ Packagist](https://packagist.org/packages/burdaforward/bf-prg-bundle)[ RSS](/packages/burdaforward-bf-prg-bundle/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (4)Versions (15)Used By (0)

BFPrgBundle
===========

[](#bfprgbundle)

The BFPrgBundle adds support for masking urls based on PRG-Pattern.

For more information about this pattern please take a closer look to the following url: [Post/Redirect/Get](https://en.wikipedia.org/wiki/Post/Redirect/Get)

**Note:** This bundle is built for use in a symfony application.

Installation &amp; Setup
------------------------

[](#installation--setup)

1. Run `composer require burdaforward/bf-prg-bundle` or download teh bundle to you local vendor directory
2. Activate this bundle

    - It should be activated automatically if you have Symfony Flex installed
    - Manually via `src/Kernel.php` or `config/bundles.php`

    ```
    ...

    class Kernel extends BaseKernel
    {
        ...

        public function registerBundles()
        {
            $bundles = array(
                ...

                new BurdaForward\BFPrgBundle\BFPrgBundle(),

                ...
            );

            return $bundles;
        }

        ...
    }
    ```
3. Add the bundle to your routing configuration like `config/routes.yaml`

    ```
      prg:
         resource: "@BFPrgBundle/Resources/config/routing.yml"
    ```

    This routing.yml enables a required route `/prg_resolve`.
4. In the last step you need to include the basic template of that bundle into your templates.

    (Best position is before closing body tag.)

    ```
    {% include '@BFPrg/prg_form.html.twig' %}
    ```

Usage &amp; Examples
--------------------

[](#usage--examples)

The bundle provides a twig function you can call in your templates.

```
Function name: prg_link
Function parameter:
    url: Destination URL including GET parameter
    title: Label  of the masked link. e.g. TITLE
    options: This is an array the supports the following options.
        class: you can set the css class of the rendered element
        element: the default is "span" but if you want to render a "button", "div" or "a" you can set it with this option
        target: you can define if the link should open in the same window (default value) or in a new one
                valid values are
                    - _self (same frame)
                    - _top (same window
                    - _blank (new window)
        only_open_tag: has to be set true or false - the result will only return the opening tag of a prg link
                       ATTENTION: You have to close the tag by yourself.

```

Basic example:

```
{{ prg_link('http://example.org?q=sample', 'Click me')|raw }}

Result: Click me

```

Stylesheet example:

```
{{ prg_link('http://example.org?q=sample', 'Click me', {class: 'my-link'})|raw }}

Result: Click me

```

Target example

```
{{ prg_link('http://example.org?q=sample', 'Click me', {target: '_blank'})|raw }}

Result: Click me

```

Element example:

```
{{ prg_link('http://example.org?q=sample', 'Click me', {element: 'button'})|raw }}

Result: Click me

```

Only Open Tag example:

```
{{ prg_link('http://example.org?q=sample', 'Title will be ignored', {only_open_tag: true)|raw }}

Result:

```

Contact
-------

[](#contact)

For questions and improvements contact us.

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity79

Established project with proven stability

 Bus Factor1

Top contributor holds 67.9% 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 ~216 days

Recently: every ~189 days

Total

13

Last Release

729d ago

Major Versions

1.2.2 → 2.0.02024-07-05

PHP version history (3 changes)1.1.0PHP ^7.2

1.2.0PHP &gt;=7.2

2.0.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5594950?v=4)[Thilo Habenreich](/maintainers/werfux)[@werfux](https://github.com/werfux)

---

Top Contributors

[![x-vlad-x](https://avatars.githubusercontent.com/u/6992531?v=4)](https://github.com/x-vlad-x "x-vlad-x (19 commits)")[![werfux](https://avatars.githubusercontent.com/u/5594950?v=4)](https://github.com/werfux "werfux (8 commits)")[![sebbemunich](https://avatars.githubusercontent.com/u/8530776?v=4)](https://github.com/sebbemunich "sebbemunich (1 commits)")

### Embed Badge

![Health badge](/badges/burdaforward-bf-prg-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/burdaforward-bf-prg-bundle/health.svg)](https://phpackages.com/packages/burdaforward-bf-prg-bundle)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)[symfony/ux-toolkit

A tool to easily create a design system in your Symfony app with customizable, well-crafted Twig components

16126.1k1](/packages/symfony-ux-toolkit)[chameleon-system/chameleon-base

The Chameleon System core.

1028.6k5](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

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