PHPackages                             artox-lab/clarc-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. [Framework](/categories/framework)
4. /
5. artox-lab/clarc-bundle

ActiveSymfony-bundle[Framework](/categories/framework)

artox-lab/clarc-bundle
======================

Build Symfony project within Clean Architecture

v5.2.17(3y ago)329.4k5[3 PRs](https://github.com/artox-lab/clarc-bundle/pulls)1MITPHPPHP &gt;=7.4 || ^8.0

Since Sep 11Pushed 1y ago2 watchersCompare

[ Source](https://github.com/artox-lab/clarc-bundle)[ Packagist](https://packagist.org/packages/artox-lab/clarc-bundle)[ RSS](/packages/artox-lab-clarc-bundle/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelog (10)Dependencies (14)Versions (73)Used By (1)

Installation
============

[](#installation)

Applications that use Symfony Flex
----------------------------------

[](#applications-that-use-symfony-flex)

Open a command console, enter your project directory and execute:

```
$ composer require artox-lab/clarc-bundle
```

Applications that don't use Symfony Flex
----------------------------------------

[](#applications-that-dont-use-symfony-flex)

### Step 1: Download the Bundle

[](#step-1-download-the-bundle)

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

```
$ composer require artox-lab/clarc-bundle
```

This command requires you to have Composer installed globally, as explained in the [installation chapter](https://getcomposer.org/doc/00-intro.md)of the Composer documentation.

### Step 2: Enable the Bundle

[](#step-2-enable-the-bundle)

Then, enable the bundle by adding it to the list of registered bundles in the `config/bundles.php` file of your project:

```
// config/bundles.php

return [
    // ...
    ArtoxLab\Bundle\ClarcBundle\ArtoxLabClarcBundle::class => ['all' => true],
];
```

### Step 3: Configuration

[](#step-3-configuration)

Configure bundle

```
# config/packages/artox_lab_clarc.yaml

artox_lab_clarc:
    api:
        serializer:
            class: \ArtoxLab\Bundle\ClarcBundle\Core\Interfaces\UI\API\Transformers\Serializers\NullObjectArraySerializer
    security:
        rbac:
            permissions:
                ROLE_MAINTAINER:
                    - show
```

Security
--------

[](#security)

### How to setup `get authenticated user permissions` API endpoint

[](#how-to-setup-get-authenticated-user-permissions-api-endpoint)

1. Add to your project routes file `config/routes.yaml`

```
artox_lab_clarc_bundle_user_permissions:
    path: /v1/user/permissions
    controller: ArtoxLab\Bundle\ClarcBundle\Core\Interfaces\UI\API\Controllers\PermissionController::permissions
    methods: GET
```

2. Setup firewall and access control in `config/packages/security.yaml`

```
security:
    firewalls:
      users:
          pattern: ^/v1
          ...
    access_control:
        - { path: ^/v1/, roles: IS_AUTHENTICATED_FULLY }
```

> Note: If you have more than one authenticator - do the setup for each one

### How to use RBAC

[](#how-to-use-rbac)

1. Setup roles and permissions in config `config/packages/artox_lab_clarc.yaml`
2. Require `ArtoxLab\Bundle\ClarcBundle\Core\Entity\Security\AuthorizationChecker` in your use case / controller
3. Check user permission `$this->authorizationChecker->isGranted('permission_name')`

Navigation
----------

[](#navigation)

1. Setup config

```
# config/packages/artox_lab_clarc.yaml

artox_lab_clarc:
    navigation:
        left_menu:
            show_orphaned_root: false
            items:
                -   icon: portfolio
                    title: Управление компаниями
                    children:
                        -   icon: something
                            link: /companies
                            title: Компании
                            permissions: company.list
                        -   link: /companies/add
                            title: Добавить компанию
                            permissions: [company.create]
```

2. Add routes

```
# config/routes.yaml

artox_lab_admin_user_navigations:
    path: /user/navigations
    controller: ArtoxLab\Bundle\ClarcBundle\Core\Interfaces\UI\API\Controllers\NavigationController::userNavigation
    methods: GET
```

3. Secure routes

```
# config/packages/security.yaml

security:
    firewalls:
        main:
            pattern: ^/user
            ...
    access_control:
        - { path: ^/user, roles: IS_AUTHENTICATED_FULLY}
```

4. Call API `GET /user/navigations` with authentication

Learn more
==========

[](#learn-more)

- [Messaging between services](doc/message_bus/services_communication/index.md)

###  Health Score

44

—

FairBetter than 91% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 63.8% 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 ~28 days

Recently: every ~94 days

Total

71

Last Release

458d ago

Major Versions

v0.3.2 → v4.0.12020-12-18

v0.1.12 → v5.0.12020-12-18

v4.0.2 → v5.0.22020-12-21

v4.0.4 → v5.0.32020-12-24

v1.2.1 → 5.2.x-dev2023-03-15

PHP version history (4 changes)v0.1PHP &gt;=7.1

0.1.11PHP &gt;=7.3

v5.2.1PHP &gt;=7.4 || ^8.0

v1.4.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/2917d50ac1c30b2263e471b4ae4422080ef5a864087dc0455a88b4e387dad5b7?d=identicon)[steepdevs](/maintainers/steepdevs)

---

Top Contributors

[![steepdevs](https://avatars.githubusercontent.com/u/7871765?v=4)](https://github.com/steepdevs "steepdevs (60 commits)")[![Svarok](https://avatars.githubusercontent.com/u/7721869?v=4)](https://github.com/Svarok "Svarok (24 commits)")[![Fedog](https://avatars.githubusercontent.com/u/23637786?v=4)](https://github.com/Fedog "Fedog (7 commits)")[![burstmeman](https://avatars.githubusercontent.com/u/52981421?v=4)](https://github.com/burstmeman "burstmeman (2 commits)")[![forabelo](https://avatars.githubusercontent.com/u/73500353?v=4)](https://github.com/forabelo "forabelo (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/artox-lab-clarc-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/artox-lab-clarc-bundle/health.svg)](https://phpackages.com/packages/artox-lab-clarc-bundle)
```

###  Alternatives

[sylius/sylius

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

8.4k5.6M647](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M151](/packages/sulu-sulu)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[contao/core-bundle

Contao Open Source CMS

1231.6M2.3k](/packages/contao-core-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M385](/packages/shopware-core)

PHPackages © 2026

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