abstract class Bundle implements BundleInterface

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

Traits

ContainerAware trait.

Properties

protected ContainerInterface $container from ContainerAwareTrait
protected $name
protected $extension
protected $path

Methods

setContainer(ContainerInterface $container = null)

No description

boot()

Boots the Bundle.

shutdown()

Shutdowns the Bundle.

build(ContainerBuilder $container)

Builds the bundle.

getContainerExtension()

Returns the bundle's container extension.

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

in ContainerAwareTrait at line 26
setContainer(ContainerInterface $container = null)

Parameters

ContainerInterface $container

at line 39
boot()

Boots the Bundle.

at line 46
shutdown()

Shutdowns the Bundle.

at line 56
build(ContainerBuilder $container)

Builds the bundle.

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

Parameters

ContainerBuilder $container

at line 67
ExtensionInterface|null getContainerExtension()

Returns the bundle's container extension.

Return Value

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

Exceptions

LogicException

at line 99
string getNamespace()

Gets the Bundle namespace.

Return Value

string The Bundle namespace

at line 111
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 124
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 131
final string getName()

Returns the bundle name (the class short name).

Return Value

string The Bundle name

at line 148
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 189
protected string getContainerExtensionClass()

Returns the bundle's container extension class.

Return Value

string

at line 201
protected ExtensionInterface|null createContainerExtension()

Creates the bundle's container extension.

Return Value

ExtensionInterface|null