Yaffs site version 1.1
[yaffs-website] / vendor / symfony / http-kernel / KernelInterface.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;
13
14 use Symfony\Component\DependencyInjection\ContainerInterface;
15 use Symfony\Component\HttpKernel\Bundle\BundleInterface;
16 use Symfony\Component\Config\Loader\LoaderInterface;
17
18 /**
19  * The Kernel is the heart of the Symfony system.
20  *
21  * It manages an environment made of bundles.
22  *
23  * @author Fabien Potencier <fabien@symfony.com>
24  */
25 interface KernelInterface extends HttpKernelInterface, \Serializable
26 {
27     /**
28      * Returns an array of bundles to register.
29      *
30      * @return BundleInterface[] An array of bundle instances
31      */
32     public function registerBundles();
33
34     /**
35      * Loads the container configuration.
36      *
37      * @param LoaderInterface $loader A LoaderInterface instance
38      */
39     public function registerContainerConfiguration(LoaderInterface $loader);
40
41     /**
42      * Boots the current kernel.
43      */
44     public function boot();
45
46     /**
47      * Shutdowns the kernel.
48      *
49      * This method is mainly useful when doing functional testing.
50      */
51     public function shutdown();
52
53     /**
54      * Gets the registered bundle instances.
55      *
56      * @return BundleInterface[] An array of registered bundle instances
57      */
58     public function getBundles();
59
60     /**
61      * Checks if a given class name belongs to an active bundle.
62      *
63      * @param string $class A class name
64      *
65      * @return bool true if the class belongs to an active bundle, false otherwise
66      *
67      * @deprecated since version 2.6, to be removed in 3.0.
68      */
69     public function isClassInActiveBundle($class);
70
71     /**
72      * Returns a bundle and optionally its descendants by its name.
73      *
74      * @param string $name  Bundle name
75      * @param bool   $first Whether to return the first bundle only or together with its descendants
76      *
77      * @return BundleInterface|BundleInterface[] A BundleInterface instance or an array of BundleInterface instances if $first is false
78      *
79      * @throws \InvalidArgumentException when the bundle is not enabled
80      */
81     public function getBundle($name, $first = true);
82
83     /**
84      * Returns the file path for a given resource.
85      *
86      * A Resource can be a file or a directory.
87      *
88      * The resource name must follow the following pattern:
89      *
90      *     "@BundleName/path/to/a/file.something"
91      *
92      * where BundleName is the name of the bundle
93      * and the remaining part is the relative path in the bundle.
94      *
95      * If $dir is passed, and the first segment of the path is "Resources",
96      * this method will look for a file named:
97      *
98      *     $dir/<BundleName>/path/without/Resources
99      *
100      * before looking in the bundle resource folder.
101      *
102      * @param string $name  A resource name to locate
103      * @param string $dir   A directory where to look for the resource first
104      * @param bool   $first Whether to return the first path or paths for all matching bundles
105      *
106      * @return string|array The absolute path of the resource or an array if $first is false
107      *
108      * @throws \InvalidArgumentException if the file cannot be found or the name is not valid
109      * @throws \RuntimeException         if the name contains invalid/unsafe characters
110      */
111     public function locateResource($name, $dir = null, $first = true);
112
113     /**
114      * Gets the name of the kernel.
115      *
116      * @return string The kernel name
117      */
118     public function getName();
119
120     /**
121      * Gets the environment.
122      *
123      * @return string The current environment
124      */
125     public function getEnvironment();
126
127     /**
128      * Checks if debug mode is enabled.
129      *
130      * @return bool true if debug mode is enabled, false otherwise
131      */
132     public function isDebug();
133
134     /**
135      * Gets the application root dir.
136      *
137      * @return string The application root dir
138      */
139     public function getRootDir();
140
141     /**
142      * Gets the current container.
143      *
144      * @return ContainerInterface A ContainerInterface instance
145      */
146     public function getContainer();
147
148     /**
149      * Gets the request start time (not available if debug is disabled).
150      *
151      * @return int The request start timestamp
152      */
153     public function getStartTime();
154
155     /**
156      * Gets the cache directory.
157      *
158      * @return string The cache directory
159      */
160     public function getCacheDir();
161
162     /**
163      * Gets the log directory.
164      *
165      * @return string The log directory
166      */
167     public function getLogDir();
168
169     /**
170      * Gets the charset of the application.
171      *
172      * @return string The charset
173      */
174     public function getCharset();
175 }