abstract class Bundle implements BundleInterface

An implementation of BundleInterface that adds a few conventions for DependencyInjection extensions and Console commands.

Properties

protected ContainerInterface $container
protected $name
protected $extension
protected $path

Methods

boot()

Boots the Bundle.

shutdown()

Shutdowns the Bundle.

build(ContainerBuilder $container)

Builds the bundle.

setContainer(ContainerInterface $container = null)

Sets the container.

getContainerExtension()

Returns the container extension that should be implicitly loaded.

string
getNamespace()

Gets the Bundle namespace.

string
getPath()

Gets the Bundle directory path.

string
getParent()

Returns the bundle name that this bundle overrides.

string
getName()

Returns the bundle name (the class short name).

registerCommands(Application $application)

Finds and registers Commands.

string
getContainerExtensionClass()

Returns the bundle's container extension class.

createContainerExtension()

Creates the bundle's container extension.

Details

at line 40
boot()

Boots the Bundle.

at line 47
shutdown()

Shutdowns the Bundle.

at line 57
build(ContainerBuilder $container)

Builds the bundle.

It is only ever called once when the cache is empty.

Parameters

ContainerBuilder $container

at line 64
setContainer(ContainerInterface $container = null)

Sets the container.

Parameters

ContainerInterface $container

at line 74
ExtensionInterface|null getContainerExtension()

Returns the container extension that should be implicitly loaded.

Return Value

ExtensionInterface|null The default extension or null if there is none

at line 106
string getNamespace()

Gets the Bundle namespace.

Return Value

string The Bundle namespace

at line 116
string getPath()

Gets the Bundle directory path.

The path should always be returned as a Unix path (with /).

Return Value

string The Bundle absolute path

at line 129
string getParent()

Returns the bundle name that this bundle overrides.

Despite its name, this method does not imply any parent/child relationship between the bundles, just a way to extend and override an existing bundle.

Return Value

string The Bundle name it overrides or null if no parent

at line 136
final string getName()

Returns the bundle name (the class short name).

Return Value

string The Bundle name

at line 156
registerCommands(Application $application)

Finds and registers Commands.

Override this method if your bundle commands do not follow the conventions:

  • Commands are in the 'Command' sub-directory
  • Commands extend Symfony\Component\Console\Command\Command

Parameters

Application $application

at line 194
protected string getContainerExtensionClass()

Returns the bundle's container extension class.

Return Value

string

at line 206
protected ExtensionInterface|null createContainerExtension()

Creates the bundle's container extension.

Return Value

ExtensionInterface|null