PHPackages                             vox/crud-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. [Admin Panels](/categories/admin)
4. /
5. vox/crud-bundle

ActiveLibrary[Admin Panels](/categories/admin)

vox/crud-bundle
===============

01.1kPHP

Since Nov 5Pushed 7y ago1 watchersCompare

[ Source](https://github.com/jhonatanTeixeira/crud-bundle)[ Packagist](https://packagist.org/packages/vox/crud-bundle)[ RSS](/packages/vox-crud-bundle/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Crud Bundle
===========

[](#crud-bundle)

Configure Routes:
-----------------

[](#configure-routes)

```
vox_crud:
    routes:
        firstStep:
            type: Presentation\Form\FirstStepType                   # the symfony form type to use
            class: Domain\Model\ProccessData                        # the object to be persisted, usualy a entity
            contextObject: Vox\CrudBundle\Form\CrudFormEvent        # a context object for the events to be dispatched
            strategy: Infrastructure\CrudStrategy\FirstStepStrategy # the persistence strategy class, must implement the strategy interface
            operations: ['get', 'put']                              # operations
            formTemplate: 'first-step/form.html.twig'               # form twig template

        secondStep:
            type: Presentation\Form\FirstStepType
            class: Domain\Model\ProccessData
            contextObject: Vox\CrudBundle\Form\CrudFormEvent
            strategy: Infrastructure\CrudStrategy\FirstStepStrategy
            operations: ['get', 'put']
            formTemplate: 'first-step/form.html.twig'
```

Custom Persistence Strategy
---------------------------

[](#custom-persistence-strategy)

Register this class using the strategy option on your route configuration

```
namespace Infrastructure\CrudStrategy;

use Symfony\Component\Form\FormInterface;
use Symfony\Component\HttpFoundation\Request;
use Vox\CrudBundle\Crud\Strategy\CrudPostFlushableInterface;
use Vox\CrudBundle\Crud\Strategy\CrudStrategyInterface;

class FirstStepStrategy implements CrudStrategyInterface, CrudPostFlushableInterface
{

    public function persistDataObject(FormInterface $form)
    {
        //persist data using your database mechanism
    }

    public function createDataObjectForPost(Request $request)
    {
        //create the data object for the form when its a post route
    }

    public function createDataObjectForPut(Request $request)
    {
        //create the data object for the form when its a put route
    }

    public function createDataObjectForGet(Request $request)
    {
        //create the data object for the form when its a get route
    }

    public function postFlush($object)
    {
        //do something after the flushing of doctrine or your database mechanism
    }
}
```

Events
------

[](#events)

This bundle exposes some events to help manipulate the forms

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

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/2b151b09844eedb0fc2a4a3f5ff6766ec85d3bd1f3c5553e0c117ee279ede952?d=identicon)[jhonatanTeixeira](/maintainers/jhonatanTeixeira)

---

Top Contributors

[![jhonatanTeixeira](https://avatars.githubusercontent.com/u/1003279?v=4)](https://github.com/jhonatanTeixeira "jhonatanTeixeira (23 commits)")

### Embed Badge

![Health badge](/badges/vox-crud-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/vox-crud-bundle/health.svg)](https://phpackages.com/packages/vox-crud-bundle)
```

PHPackages © 2026

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