PHPackages                             carlosv2/allegro - 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. carlosv2/allegro

ActiveLibrary

carlosv2/allegro
================

Symfony bundles autoloader

1.0.0(9y ago)1281MITPHPPHP &gt;=5.5

Since Nov 27Pushed 9y ago1 watchersCompare

[ Source](https://github.com/carlosV2/Allegro)[ Packagist](https://packagist.org/packages/carlosv2/allegro)[ RSS](/packages/carlosv2-allegro/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Allegro
=======

[](#allegro)

Symfony bundles autoloader.

[![License](https://camo.githubusercontent.com/ac4fd1c1cd81ef5a3a38620b398e591385f0847ea2e27084e58b8b40c0f669a0/68747470733a2f2f706f7365722e707567782e6f72672f6361726c6f7376322f616c6c6567726f2f6c6963656e7365)](https://packagist.org/packages/carlosv2/allegro)[![Build Status](https://camo.githubusercontent.com/ed3fc897406e99f94b53dc24c39fbefffc311738ca2bd8c55fdf9037b3daaf08/68747470733a2f2f7472617669732d63692e6f72672f6361726c6f7356322f416c6c6567726f2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/carlosV2/Allegro)[![SensioLabsInsight](https://camo.githubusercontent.com/0e68df9cd33e82729056ac3b4c0ad3fe106f05106d017a2573161ab6c75fc98e/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f62626136343263352d346537652d343862312d393762312d6230343233633363663332392f6d696e692e706e67)](https://insight.sensiolabs.com/projects/bba642c5-4e7e-48b1-97b1-b0423c3cf329)

Why
---

[](#why)

How many times have you required a composer package for your Symfony project and then you have needed to add it into AppKernel?

For some projects, there is not an straight correlation but for most of them, the only reason to require them is to add the bundle from within to a Symfony project.

For those cases, this project tries to minimise the work required to add the third party bundle by allowing it to be autoloaded.

Usage
-----

[](#usage)

Using Allegro is as easy as injecting it into the AppKernel file of your project. For example:

```
use carlosV2\Allegro\Allegro;
use Symfony\Component\HttpKernel\Kernel;

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // Any bundle that you want to have manually added
        ];
        Allegro::appendTo($bundles);

        if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
            // Any bundle that you want to have manually added for tests
            Allegro::appendDevsTo($bundles);
        }

        return $bundles;
    }

    ...
}
```

That's it. Next time the AppKernel is read, Allegro will append any extra bundle automatically.

How
---

[](#how)

Allegro works by inspecting the composer packages for an specific configuration. If found, it reads and processes it so, making a bundle compatible with Allegro is as easy as providing the right configuration into its composer file.

This is the configuration that Allegro looks for on each `composer.json` file of each required package:

```
{
    "extra": {
        "symfony": {
            "bundles": ["Namespace\\BundleClass"]
        }
    }
}
```

Of course, you can set as many bundle classes as you need inside the array. Additionally, the root package (that means, the `composer.json` file of the Symfony project using Allegro) can also have this configuration in order to autoload the bundles.

Allegro assumes that packages inside `require` key are used for production while those inside `require-dev` are used only for development.

Install
-------

[](#install)

In order to have Allegro you first need to require it through composer:

```
$ composer require carlosv2/allegro
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3450d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7bd7a8f2b6884a04c3282dea24b9e0f10e0ff33e085bcc0e48797c4afc7d8758?d=identicon)[carlosV2](/maintainers/carlosV2)

---

Top Contributors

[![carlosV2](https://avatars.githubusercontent.com/u/2642839?v=4)](https://github.com/carlosV2 "carlosV2 (9 commits)")

---

Tags

symfonybundleautoload

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/carlosv2-allegro/health.svg)

```
[![Health](https://phpackages.com/badges/carlosv2-allegro/health.svg)](https://phpackages.com/packages/carlosv2-allegro)
```

###  Alternatives

[endroid/qr-code-bundle

Endroid QR Code Bundle

32110.6M17](/packages/endroid-qr-code-bundle)[prezent/doctrine-translatable-bundle

Integrate the doctrine-translatable extension in Symfony

14698.4k5](/packages/prezent-doctrine-translatable-bundle)[ras/flash-alert-bundle

FlashAlertBundle provides a simplified way to handle (add/display) Symfony flash messages. Client side scripts are written in pure JavaScript.

2423.3k](/packages/ras-flash-alert-bundle)[bukashk0zzz/liip-imagine-serialization-bundle

Provides integration between LiipImagineBundle and JMSSerializerBundle.

2517.5k](/packages/bukashk0zzz-liip-imagine-serialization-bundle)

PHPackages © 2026

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