PHPackages                             alexandrebulete/ddd-sylius-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. alexandrebulete/ddd-sylius-bundle

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

alexandrebulete/ddd-sylius-bundle
=================================

Sylius Stack Bundle for DDD Foundation - Admin UI, Grid, Resource integration

1.0.1(2mo ago)32[1 issues](https://github.com/AlexandreBulete/ddd-sylius-bundle/issues)MITPHPPHP ^8.2

Since Dec 20Pushed 2mo agoCompare

[ Source](https://github.com/AlexandreBulete/ddd-sylius-bundle)[ Packagist](https://packagist.org/packages/alexandrebulete/ddd-sylius-bundle)[ RSS](/packages/alexandrebulete-ddd-sylius-bundle/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (12)Versions (3)Used By (0)

DDD Sylius Bundle
=================

[](#ddd-sylius-bundle)

Sylius Stack Bundle for DDD Foundation. Provides Admin UI menu builder, Grid utilities, and Resource integration.

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

[](#installation)

```
composer require alexandrebulete/ddd-sylius-bundle
```

Configuration
-------------

[](#configuration)

Add the bundle to your `config/bundles.php`:

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

Structure
---------

[](#structure)

```
src/
├── DddSyliusBundle.php
├── Admin/
│   └── Menu/
│       ├── MenuBuilder.php
│       └── MenuContributorInterface.php
├── Grid/
│   └── GridPageResolver.php
└── Resources/
    └── config/
        ├── services.php
        └── sylius_resource.yaml

```

Features
--------

[](#features)

### Menu Builder

[](#menu-builder)

The bundle provides a modular menu builder for Sylius Admin UI. Each bounded context can contribute menu items.

#### Create a Menu Contributor

[](#create-a-menu-contributor)

```
use AlexandreBulete\DddSyliusBundle\Admin\Menu\MenuContributorInterface;
use Knp\Menu\ItemInterface;
use Symfony\Component\DependencyInjection\Attribute\AutoconfigureTag;

#[AutoconfigureTag('app.menu_contributor')]
final readonly class PostMenuContributor implements MenuContributorInterface
{
    public function contribute(ItemInterface $menu): void
    {
        $menu
            ->addChild('posts', [
                'route' => 'app_admin_post_index',
            ])
            ->setLabel('Posts')
            ->setLabelAttribute('icon', 'tabler:article');
    }
}
```

### Grid Page Resolver

[](#grid-page-resolver)

Utility for resolving pagination parameters from Grid and Request:

```
use AlexandreBulete\DddSyliusBundle\Grid\GridPageResolver;

$page = GridPageResolver::getCurrentPage($grid, $parameters);
$itemsPerPage = GridPageResolver::getItemsPerPage($grid, $parameters);
```

### Sylius Resource Configuration

[](#sylius-resource-configuration)

Configure resource mapping for your bounded contexts:

```
# config/packages/sylius_resource.yaml
sylius_resource:
    mapping:
        paths:
            - '%kernel.project_dir%/src/*/Infrastructure/Sylius/Resource'
```

Example: Full Bounded Context Setup
-----------------------------------

[](#example-full-bounded-context-setup)

```
src/Post/
├── Domain/
│   └── Model/Post.php
├── Infrastructure/
│   ├── Sylius/
│   │   ├── Resource/
│   │   │   └── PostResource.php
│   │   └── Grid/
│   │       └── PostGrid.php
│   └── Symfony/
│       └── Menu/
│           └── PostMenuContributor.php

```

###  Health Score

38

—

LowBetter than 83% of packages

Maintenance81

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% 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 ~130 days

Total

2

Last Release

66d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/15733a17c9dd08fc7def3be016f324453d4f0de828438858d13f63e7c3388353?d=identicon)[Alexandre Buleté](/maintainers/Alexandre%20Bulet%C3%A9)

---

Top Contributors

[![AlexandreBulete](https://avatars.githubusercontent.com/u/40428152?v=4)](https://github.com/AlexandreBulete "AlexandreBulete (6 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (1 commits)")

### Embed Badge

![Health badge](/badges/alexandrebulete-ddd-sylius-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/alexandrebulete-ddd-sylius-bundle/health.svg)](https://phpackages.com/packages/alexandrebulete-ddd-sylius-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M737](/packages/sylius-sylius)[sonata-project/admin-bundle

The missing Symfony Admin Generator

2.2k19.5M315](/packages/sonata-project-admin-bundle)[sylius/core-bundle

Sylius core bundle. It integrates all other bundles into full stack Symfony ecommerce solution.

22111.4k69](/packages/sylius-core-bundle)[sylius/order-bundle

Sales order management for Symfony applications.

11439.5k12](/packages/sylius-order-bundle)[contao/core-bundle

Contao Open Source CMS

1231.6M2.8k](/packages/contao-core-bundle)[sylius/invoicing-plugin

Invoicing plugin for Sylius.

891.1M2](/packages/sylius-invoicing-plugin)

PHPackages © 2026

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