Files
chill-bundles/docs/source/development/create-a-new-bundle.md

1.5 KiB

Create a new bundle

:::: warning ::: title Warning :::

This part of the doc is not yet tested ::::

Create a new directory with Bundle class

mkdir -p src/Bundle/ChillSomeBundle/src/config
mkdir -p src/Bundle/ChillSomeBundle/src/Controller

Add a bundle file

<?php

declare(strict_types=1);

/*
 * Chill is a software for social workers
 *
 * For the full copyright and license information, please view
 * the LICENSE file that was distributed with this source code.
 */

namespace Chill\SomeBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class ChillSomeBundle extends Bundle {}

And a route file:

chill_ticket_controller:
    resource: '@ChillTicketBundle/Controller/'
    type: annotation

Register the new psr-4 namespace

In composer.json, add the new psr4 namespace

{
"autoload": {
    "psr-4": {
+        "Chill\\SomeBundle\\": "src/Bundle/ChillSomeBundle/src",
    }
}
}

Register the bundle

Register in the file config/bundles.php:

Vendor\Bundle\YourBundle\YourBundle::class => ['all' => true],

And import routes in config/routes/chill_some_bundle.yaml:

chill_ticket_bundle:
    resource: '@ChillSomeBundle/config/routes.yaml'

Add the doctrine_migration namespace

Add the namespace to config/packages/doctrine_migrations_chill.yaml

doctrine_migrations:
    migrations_paths:
+        'Chill\Some\Ticket': '@ChillSomeBundle/migrations'

Dump autoloading

symfony composer dump-autoload