PHPackages                             xorgxx/neox-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. xorgxx/neox-crud-bundle

ActiveSymfony-bundle[Admin Panels](/categories/admin)

xorgxx/neox-crud-bundle
=======================

Neox CRUD Bundle: generic factory-based CRUD with handlers, events, Mercure and makers.

11↓100%PHP

Since Feb 5Pushed 3mo agoCompare

[ Source](https://github.com/xorgxx/neox-crud-bundle)[ Packagist](https://packagist.org/packages/xorgxx/neox-crud-bundle)[ RSS](/packages/xorgxx-neox-crud-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

NeoxCrudBundle — Documentation principale (FR/EN)
=================================================

[](#neoxcrudbundle--documentation-principale-fren)

[FR docs](docs/fr/guide.md) | [EN docs](docs/en/guide.md)

NeoxCrudBundle fournit une couche CRUD générique et factorisée pour Symfony. Son objectif est simple: arrêter de dupliquer le même code CRUD dans vos contrôleurs et formulaires, tout en conservant une grande extensibilité via des hooks, des événements et des actions personnalisées.

Features clés:

- Contrôleur CRUD générique pour toutes les routes `/admin/{resource}`
- CrudHandlers par ressource (Doctrine, formulaires, hooks, actions custom)
- Factory pour résoudre automatiquement le bon handler
- Hooks pre/post create/update/delete
- Événements pour Mercure, audit, logs, etc.
- Maker(s) pour générer handler + form + templates + traductions
- Support des identifiants int|string (UUID/ULID)

Ressources Docs:

- FR: docs/fr/guide.md, docs/fr/config.md, docs/fr/cli.md, docs/fr/uuid.md
- EN: docs/en/guide.md, docs/en/config.md, docs/en/cli.md, docs/en/uuid.md
- Controller: docs/fr/controller.md (FR) / docs/en/controller.md (EN)
- Forms &amp; relations: docs/fr/forms-relations.md (FR) / docs/en/forms-relations.md (EN)

Sommaire rapide:

- Installation (FR/EN)
- Configuration (FR/EN)
- CLI / Maker (FR/EN)
- Cas d’usage
- Sécurité &amp; événements
- Templates &amp; traductions
- Starter kit

---

Section FR — Installation

1. Installer le bundle

```
composer require neox/crud-bundle
```

Puis enregistrer le bundle dans `config/bundles.php` si nécessaire:

```
return [
    // ...
    Neox\NeoxCrudBundle\NeoxCrudBundle::class => ['all' => true],
];
```

2. Routing générique (config/routes/neox\_crud.yaml)

```
neox_crud:
  resource: '@NeoxCrudBundle/Controller/'
  type: attribute
  prefix: /
```

Routes exposées automatiquement:

- `/admin/{resource}`
- `/admin/{resource}/new`
- `/admin/{resource}/{id}/edit`
- `/admin/{resource}/{id}/delete`
- `/admin/{resource}/{id}/{action}` (actions custom)

3. Templates du bundle (optionnel)

```
twig:
  paths:
    '%kernel.project_dir%/vendor/neox/crud-bundle/templates': NeoxCrud
```

4. Configuration (aperçu)

Voir la référence complète: docs/fr/config.md

```
neox_crud:
  translations:
    field_keys: ['label', 'placeholder', 'help']
    patterns:
      placeholder: 'Saisir votre %field_label%'
      help: 'Aide pour %field_label%'
  mercure:
    enabled: true
    topic_prefix: '/crud'
```

5. CLI / Maker (aperçu)

Voir la référence complète: docs/fr/cli.md

```
php bin/console make:crud-handler product App\Entity\Product App\Form\ProductType
php bin/console make:neox:crud Product
```

Cas d’usage rapides (FR)

- Lister: utilisez `index` du contrôleur générique, `findList()` pour paginer
- Créer/Éditer: `new`/`edit` et `AbstractDoctrineCrudHandler::createForm()` + `handleForm()`
- Supprimer: `delete` protège par CSRF, événements déclenchés
- Action custom: implémentez `supportsAction()` + `handleAction()` dans votre handler

Sécurité &amp; événements (FR)

- Par défaut, les routes CRUD sont protégées (ex: #\[IsGranted('ROLE\_ADMIN')\])
- Événements émis: CrudEntitySavedEvent, CrudEntityDeletedEvent
- Intégrations: `CrudNotifierInterface` (implémentation par défaut via Mercure)

Templates &amp; traductions (FR)

- Les FormTypes utilisent un `translation_domain` par ressource
- Clés standardisées: `product.field.name.label|placeholder|help`
- Des templates par défaut sont fournis et surchargeables
- Le Maker devine automatiquement le type de champ Symfony à partir du type Doctrine (FQCN en chaîne quand reconnu, sinon `null` pour laisser Symfony deviner). UUID/GUID → TextType par défaut.

Starter kit (FR)

- Exemple complet `Product` disponible dans `starter_kit/`
- Voir starter\_kit/symfony\_project\_README.md

Plus d’infos (FR)

- [Guide complet: ](docs/fr/guide.md)
- [Config détaillée: ](docs/fr/config.md)
- [Exemples de config: ](docs/fr/config-exemples.md)
- [CLI détaillée: ](docs/fr/cli.md)
- [UUID/ULID: ](docs/fr/uuid.md)
- [Contrôleur CRUD générique: ](docs/fr/controller.md)

---

EN Section — Installation

1. Install the bundle

```
composer require neox/crud-bundle
```

Register in `config/bundles.php` if needed:

```
return [
    // ...
    Neox\NeoxCrudBundle\NeoxCrudBundle::class => ['all' => true],
];
```

2. Generic routing (config/routes/neox\_crud.yaml)

```
neox_crud:
  resource: '@NeoxCrudBundle/Controller/'
  type: attribute
  prefix: /
```

Auto-exposed routes:

- `/admin/{resource}`
- `/admin/{resource}/new`
- `/admin/{resource}/{id}/edit`
- `/admin/{resource}/{id}/delete`
- `/admin/{resource}/{id}/{action}` (custom actions)

3. Bundle templates (optional)

```
twig:
  paths:
    '%kernel.project_dir%/vendor/neox/crud-bundle/templates': NeoxCrud
```

4. Configuration (overview)

See full reference: docs/en/config.md

```
neox_crud:
  translations:
    field_keys: ['label', 'placeholder', 'help']
    patterns:
      placeholder: 'Enter your %field_label%'
      help: 'Help for %field_label%'
  mercure:
    enabled: true
    topic_prefix: '/crud'
```

5. CLI / Maker (overview)

See full reference: docs/en/cli.md

```
php bin/console make:crud-handler product App\Entity\Product App\Form\ProductType
php bin/console make:neox:crud Product
```

Quick use cases (EN)

- List: generic controller `index`, pagination via `findList()`
- Create/Edit: `new`/`edit` and `AbstractDoctrineCrudHandler::createForm()` + `handleForm()`
- Delete: `delete` with CSRF, emits events
- Custom action: implement `supportsAction()` + `handleAction()` in your handler

Security &amp; events (EN)

- By default, CRUD routes are protected (e.g. #\[IsGranted('ROLE\_ADMIN')\])
- Emitted events: CrudEntitySavedEvent, CrudEntityDeletedEvent
- Integrations: `CrudNotifierInterface` (default implementation uses Mercure)

Templates &amp; translations (EN)

- FormTypes use a per-resource `translation_domain`
- Standard keys: `product.field.name.label|placeholder|help`
- Default templates are provided and can be overridden
- The Maker auto-guesses Symfony Form Types from Doctrine types (writes FQCN as string when known, otherwise `null` so Symfony can guess). UUID/GUID → TextType by default.

Starter kit (EN)

- Complete `Product` example in `starter_kit/`
- See starter\_kit/symfony\_project\_README.md

More (EN)

- [Full guide:](docs/en/guide.md)
- [Config reference:](docs/en/config.md)
- [Config examples:](docs/en/config-examples.md)
- [CLI reference: ](docs/en/cli.md)
- [UUID/ULID: ](docs/en/uuid.md)
- [Generic CRUD controller: ](docs/en/controller.md)

---

Notes importantes

- Support des identifiants int|string (UUID/ULID)
- Pas de BC break: respecter les signatures d’interface fournies
- Voir CHANGELOG.md pour les détails de version et migrations

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance55

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

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/535aee9854a7fc4b23deba19f4b864abfede75d03724ea43a0466ae32991b443?d=identicon)[xorgxx](/maintainers/xorgxx)

### Embed Badge

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

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

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

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