* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Bundle; use Symfony\Component\DependencyInjection\ContainerBuilder; /** * BundleInterface. * * @author Fabien Potencier * * @api */ interface BundleInterface { /** * Boots the Bundle. * * @api */ function boot(); /** * Shutdowns the Bundle. * * @api */ function shutdown(); /** * Builds the bundle. * * It is only ever called once when the cache is empty. * * @param ContainerBuilder $container A ContainerBuilder instance * * @api */ function build(ContainerBuilder $container); /** * Returns the container extension that should be implicitly loaded. * * @return ExtensionInterface|null The default extension or null if there is none * * @api */ function getContainerExtension(); /** * Returns the bundle parent name. * * @return string The Bundle parent name it overrides or null if no parent * * @api */ function getParent(); /** * Returns the bundle name (the class short name). * * @return string The Bundle name * * @api */ function getName(); /** * Gets the Bundle namespace. * * @return string The Bundle namespace * * @api */ function getNamespace(); /** * Gets the Bundle directory path. * * The path should always be returned as a Unix path (with /). * * @return string The Bundle absolute path * * @api */ function getPath(); }