PHPackages                             motana/multikernel - 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. motana/multikernel

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

motana/multikernel
==================

Motana Multi-Kernel Bundle

1.4.7(7y ago)1461MITHTMLPHP &gt;=5.6

Since Jun 13Pushed 7y ago1 watchersCompare

[ Source](https://github.com/KintradimCrux/motana-multikernel)[ Packagist](https://packagist.org/packages/motana/multikernel)[ Docs](http://github.com/KintradimCrux/motana-multikernel/)[ RSS](/packages/motana-multikernel/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (11)Versions (32)Used By (0)

MotanaMultikernelBundle
=======================

[](#motanamultikernelbundle)

[![Build Status](https://camo.githubusercontent.com/1cf1b1fe60b071ff017ef129bd8cda90125c3e71a67f21143be57b91f827928f/68747470733a2f2f7472617669732d63692e6f72672f4b696e74726164696d437275782f6d6f74616e612d6d756c74696b65726e656c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/KintradimCrux/motana-multikernel)[![Coverage Status](https://camo.githubusercontent.com/924192b7eef42544d9a7e6afd99b85f3edc7696f3bc4de2980b5202318549942/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f4b696e74726164696d437275782f6d6f74616e612d6d756c74696b65726e656c2f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/KintradimCrux/motana-multikernel?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/93e58d05449e77036bc9fe92b9a134b1455025de97a52f18c07b98322c1662a4/68747470733a2f2f706f7365722e707567782e6f72672f6d6f74616e612f6d756c74696b65726e656c2f762f737461626c65)](https://packagist.org/packages/motana/multikernel)[![Total Downloads](https://camo.githubusercontent.com/a0c04306156467489dbbfe8e41cb1b8b095f53b67b92d373757db72210ae8f1e/68747470733a2f2f706f7365722e707567782e6f72672f6d6f74616e612f6d756c74696b65726e656c2f646f776e6c6f616473)](https://packagist.org/packages/motana/multikernel)[![Latest Unstable Version](https://camo.githubusercontent.com/653490ad78cc58f6562697dd4e7f82a0356f57ff1e0af93307320e7df3d2ea55/68747470733a2f2f706f7365722e707567782e6f72672f6d6f74616e612f6d756c74696b65726e656c2f762f756e737461626c65)](https://packagist.org/packages/motana/multikernel)[![License](https://camo.githubusercontent.com/a6b42829df15168f48110b89b7c90150d4534e6f181a6b79f57958b193150833/68747470733a2f2f706f7365722e707567782e6f72672f6d6f74616e612f6d756c74696b65726e656c2f6c6963656e7365)](https://packagist.org/packages/motana/multikernel)[![composer.lock](https://camo.githubusercontent.com/c38cc3205f38f34b0ba9b17f5e2fcc5bb9d9173c4cbc1fcd13caf3b57270c6dd/68747470733a2f2f706f7365722e707567782e6f72672f6d6f74616e612f6d756c74696b65726e656c2f636f6d706f7365726c6f636b)](https://packagist.org/packages/motana/multikernel)

This bundle extends a Symfony3 project by the ability to use multiple apps in the same project directory, all running with the same front controller and ***bin/console***.

Routing within the apps will work as usual, which means already existing routes will continue to work. Each app will be made available with its kernel name as URL prefix by the front controller. The ***bin/console***replacement is able to run commands like ***cache:clear***, ***cache:pool:clear*** and ***assets:install*** for all apps in one run, which will make the SensioDistributionBundle run those commands for all apps when running ***composer install*** or ***composer update***.

Since the BootKernel is a modified Symfony Kernel with almost all features disabled, the penalty of having a prefixed extra kernel is rather small.

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

[](#installation)

### 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 motana/multikernel
```

in a shell.

### Step 2: Enable the bundle

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

Enable the bundle by adding it to the list of registered bundles in the ***app/AppKernel.php*** file of your project. Make sure it is registered after the `SensioGeneratorBundle`:

```
    // app/AppKernel.php

    // ...
    class AppKernel extends Kernel
    {
        // ...
        public function registerBundles()
        {
	        // ...
            $bundles[] = new Motana\Bundle\MultikernelBundle\MotanaMultikernelBundle();

            return $bundles;
        }
        // ...
    }
```

### Step 3: Use the commands of the bundle to convert your project

[](#step-3-use-the-commands-of-the-bundle-to-convert-your-project)

Open a command console, enter your project directory and execute the following command to convert your project:

```
$ bin/console multikernel:convert
```

### How the filesystem structure is changed

[](#how-the-filesystem-structure-is-changed)

Running the `multikernel:convert` command will make the following changes to the filesystem structure of the project:

- A boot kernel skeleton will be created into the `apps/` subdirectory of your project
- All found apps will be copied to `apps/`
- The kernel of every app will be modified to run with the BootKernel
- Configuration of the apps are modified to reflect the filesystem structure changes
- The front controller and bin/console are replaced

After all modifications have taken place, the original app directories and also all files and directories under `var/cache/`, `var/logs` and `var/sessions` are removed.

The command makes the following changes to each app kernel to make it work in a multikernel environment:

- Use clauses are replaced to use classes from the MotanaMultikernelBundle
- The methods getCacheDir(), getLogDir() and registerContainerConfiguration() are removed

The command changes the configuration of each app for a changed directory scheme under `var/`:

- Caches for each kernel are stored in `var/cache///`
- Logs for each kernel are stored in `var/logs//.log`
- Sessions for each kernel are stored in `var/sessions//`

After running the `multikernel:convert` command, run the following commands on a shell:

```
    $ composer dump-autoload
```

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

[](#configuration)

The following settings can be used in apps/config/config.yml to configure the BootKernel:

```
# Default configuration for "MotanaMultikernelBundle"
motana_multikernel:

    # Default kernel the front controller should load when no kernel matches the URL
    default:              null # Example: "app" for the default AppKernel

    # Class cache configuration
    class_cache:

        # Classes to exclude from being cached in classes.php of app kernels
        exclude:              []

    # Console commands configuration
    commands:

        # Commands to add as multi-kernel command, bypassing the requirement of being available for all kernels
        add:                  []

        # Commands that will always be run on the boot kernel and will be hidden in the other kernels
        global:               []

        # Commands that will be hidden in all kernels
        hidden:               []

        # Commands that will be left as-is, overriding all of the above command settings
        ignore:               []
```

Testing your project
--------------------

[](#testing-your-project)

To reflect the changes in the filesystem structure and routing, your `phpunit.xml` needs to be updated as follows:

Change the `KERNEL_CLASS` setting to `BootKernel`

```

```

To select a kernel in your tests extending `Symfony\Bundle\FrameworkBundle\Test\WebTestCase` simply prefix the kernel name to the URL used in the test.

Credits
-------

[](#credits)

Portions of this bundle are based on work of [Fabien Potencier &lt;fabien@symfony.com&gt;](mailto:fabien@symfony.com) and [Jean-François Simon &lt;contact@jfsimon.fr&gt;](mailto:contact@jfsimon.fr).

License
-------

[](#license)

This bundle is licensed under the MIT license - see the [LICENSE](LICENSE) file for details.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 91.4% 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 ~19 days

Recently: every ~1 days

Total

31

Last Release

2736d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/29387743?v=4)[KintradimCrux](/maintainers/KintradimCrux)[@KintradimCrux](https://github.com/KintradimCrux)

---

Top Contributors

[![KintradimCrux](https://avatars.githubusercontent.com/u/29387743?v=4)](https://github.com/KintradimCrux "KintradimCrux (106 commits)")[![JFox23](https://avatars.githubusercontent.com/u/150919707?v=4)](https://github.com/JFox23 "JFox23 (10 commits)")

---

Tags

symfonykernelmulti-kernel

### Embed Badge

![Health badge](/badges/motana-multikernel/health.svg)

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

###  Alternatives

[sulu/skeleton

Project template for starting your new project based on the Sulu content management system

29734.8k](/packages/sulu-skeleton)[aimeos/aimeos-symfony

Professional, full-featured and high performance Symfony e-commerce bundle for online shops and complex B2B projects

1.5k4.3k](/packages/aimeos-aimeos-symfony)[wellcommerce/wellcommerce

WellCommerce Open-Source edition

5011.2k](/packages/wellcommerce-wellcommerce)[krzysiekpiasecki/gentelella

A Symfony skeleton application with user account functionality based on the Twitter Bootstrap and Gentelella template

981.8k](/packages/krzysiekpiasecki-gentelella)

PHPackages © 2026

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