14a7f6f4fd3a3b33c64cf375ddd0fba410bb1ae8
[yaffs-website] / vendor / symfony / http-kernel / Bundle / BundleInterface.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\Bundle;
13
14 use Symfony\Component\DependencyInjection\ContainerAwareInterface;
15 use Symfony\Component\DependencyInjection\ContainerBuilder;
16 use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
17
18 /**
19  * BundleInterface.
20  *
21  * @author Fabien Potencier <fabien@symfony.com>
22  */
23 interface BundleInterface extends ContainerAwareInterface
24 {
25     /**
26      * Boots the Bundle.
27      */
28     public function boot();
29
30     /**
31      * Shutdowns the Bundle.
32      */
33     public function shutdown();
34
35     /**
36      * Builds the bundle.
37      *
38      * It is only ever called once when the cache is empty.
39      */
40     public function build(ContainerBuilder $container);
41
42     /**
43      * Returns the container extension that should be implicitly loaded.
44      *
45      * @return ExtensionInterface|null The default extension or null if there is none
46      */
47     public function getContainerExtension();
48
49     /**
50      * Returns the bundle name that this bundle overrides.
51      *
52      * Despite its name, this method does not imply any parent/child relationship
53      * between the bundles, just a way to extend and override an existing
54      * bundle.
55      *
56      * @return string The Bundle name it overrides or null if no parent
57      *
58      * @deprecated This method is deprecated as of 3.4 and will be removed in 4.0.
59      */
60     public function getParent();
61
62     /**
63      * Returns the bundle name (the class short name).
64      *
65      * @return string The Bundle name
66      */
67     public function getName();
68
69     /**
70      * Gets the Bundle namespace.
71      *
72      * @return string The Bundle namespace
73      */
74     public function getNamespace();
75
76     /**
77      * Gets the Bundle directory path.
78      *
79      * The path should always be returned as a Unix path (with /).
80      *
81      * @return string The Bundle absolute path
82      */
83     public function getPath();
84 }