Ядро
класс Ядро реализует KernelInterface, TerminableInterface
Ядро — это сердце системы Symfony.
Он управляет окружением, состоящим из пакетов.
Константы
| VERSION | |
| VERSION_ID | |
| MAJOR_VERSION | |
| MINOR_VERSION | |
| RELEASE_VERSION | |
| EXTRA_VERSION | |
| END_OF_MAINTENANCE | |
| END_OF_LIFE |
Методы
| __construct(string $environment, bool $debug) | ||
| __clone() | ||
| boot() Запускает текущее ядро. | ||
| terminate(Запрос $request, Ответ $response) Завершает цикл запроса/ответа. | ||
| shutdown() Выключает ядро. | ||
| Ответ | handle(Запрос $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) Обрабатывает запрос, чтобы преобразовать его в ответ. | |
| Интерфейс пакета[] | getBundles() Получает зарегистрированные экземпляры пакетов. | |
| Интерфейс пакета|Интерфейс пакета[] | getBundle(string $name, bool $first = true) Возвращает пакет и, по желанию, его потомков по его имени. | |
| string|массив | locateResource(string $name, string $dir = null, bool $first = true) Возвращает путь к файлу для данного ресурса. | |
| string | getName() Получает имя ядра. | |
| string | getEnvironment() Получает окружение. | |
| bool | isDebug() Проверяет, включен ли режим отладки. | |
| string | getRootDir() Получает корневой каталог приложения (путь к классу ядра проекта). | |
| string | getProjectDir() Получает корневой каталог приложения (путь к файлу composer проекта). | |
| Интерфейс контейнера | getContainer() Получает текущий контейнер. | |
| loadClassCache(string $name = 'classes', string $extension = '.php') устарело Загружает кэш классов PHP. | ||
| setClassCache(array $classes) устарело | ||
| setAnnotatedClassCache(array $annotatedClasses) | ||
| int | getStartTime() Получает время начала запроса (недоступно, если отладка отключена). | |
| string | getCacheDir() Получает каталог кэша. | |
| string | getLogDir() Получает каталог логов. | |
| string | getCharset() Получает кодировку приложения. | |
| static string | stripComments(string $source) Удаляет комментарии из строки исходного кода PHP. | |
| serialize() | ||
| unserialize($data) |
Подробности
__construct(string $environment, bool $debug)
Параметры
| string | $environment | Среда |
| bool | $debug | Включить отладку или нет |
__clone()
boot()
Запускает текущее ядро.
terminate(Запрос $request, Ответ $response)
Завершает цикл запроса/ответа.
Должно вызываться после отправки ответа и перед выключением ядра.
Параметры
| Запрос | $request | |
| Ответ | $response |
shutdown()
Выключает ядро.
Этот метод полезен в основном при функциональном тестировании.
Ответ handle(Запрос $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true)
Обрабатывает запрос для преобразования его в ответ.
Когда $catch равно true, реализация должна перехватывать все исключения и по возможности преобразовывать их в экземпляр ответа.
Параметры
| Запрос | $request | Экземпляр запроса |
| int | $type | Тип запроса (один из HttpKernelInterface::MASTER_REQUEST или HttpKernelInterface::SUB_REQUEST) |
| bool | $catch | Перехватывать исключения или нет |
Значение результата
| Ответ | Экземпляр ответа |
Исключения
| Исключение | При возникновении исключения во время обработки |
Интерфейс пакета[] getBundles()
Получает зарегистрированные экземпляры пакетов.
Значение результата
| Интерфейс пакета[] | Массив зарегистрированных экземпляров пакетов |
Интерфейс пакета|Интерфейс пакета[] getBundle(string $name, bool $first = true)
Возвращает пакет и, необязательно, его потомков по имени.
Параметры
| string | $name | Имя пакета |
| bool | $first | Возвращать только первый пакет или вместе с его потомками |
Значение результата
| Интерфейс пакета|Интерфейс пакета[] | Экземпляр BundleInterface или массив экземпляров BundleInterface, если $first false |
Исключения
| Исключение неверного аргумента | если пакет не включен |
string|array locateResource(string $name, string $dir = null, bool $first = true)
Возвращает путь к файлу для заданного ресурса.
Ресурс может быть файлом или каталогом.
Имя ресурса должно соответствовать следующему шаблону:
"@BundleName/path/to/a/file.something"
где Имя пакета — имя пакета, а оставшаяся часть — относительный путь в пакете.
Если передан $dir, и первый сегмент пути — «Resources», этот метод будет искать файл с именем:
$dir/<BundleName>/path/without/Resources
перед поиском в папке ресурсов пакета.
Параметры
| string | $name | Имя искомого ресурса |
| string | $dir | Каталог, в котором нужно сначала искать ресурс |
| bool | $first | Возвращать первый путь или пути для всех соответствующих пакетов |
Значение результата
| string|array | Абсолютный путь к ресурсу или массив, если $first false |
Исключения
| Исключение неверного аргумента | если файл не найден или имя недействительно |
| Исключение выполнения | если имя содержит недопустимые/опасные символы |
string getName()
Получает имя ядра.
Значение результата
| string | Имя ядра |
string getEnvironment()
Получает среду.
Значение результата
| string | Текущая среда |
bool isDebug()
Проверяет, включен ли режим отладки.
Значение результата
| bool | true, если режим отладки включен, иначе false |
string getRootDir()
Получает корневой каталог приложения (путь к классу Kernel проекта).
Значение результата
| string | Корневой каталог ядра |
string getProjectDir()
Получает корневой каталог приложения (путь к файлу composer проекта).
Значение результата
| string | Корневой каталог проекта |
Интерфейс контейнера getContainer()
Получает текущий контейнер.
Значение результата
| Интерфейс контейнера | Экземпляр ContainerInterface |
loadClassCache(string $name = 'classes', string $extension = '.php') устарело
устарело
Загружает кэш классов PHP.
Этот метод только регистрирует тот факт, что вы хотите загрузить кэшированные классы. Фактическая загрузка кэша произойдет только при запуске ядра.
Эта оптимизация полезна в основном при использовании класса HttpCache, в котором случае кэш классов не загружается, если ответ находится в кэше.
Параметры
| string | $name | Префикс имени кэша |
| string | $extension | Расширение файла результата |
setClassCache(array $classes) устарело
устарело
Параметры
| array | $classes |
setAnnotatedClassCache(array $annotatedClasses)
Параметры
| array | $annotatedClasses |
int getStartTime()
Получает время начала запроса (недоступно, если отладка отключена).
Значение результата
| int | Отметка времени начала запроса |
string getCacheDir()
Получает каталог кэша.
Значение результата
| string | Каталог кэша |
string getLogDir()
Получает каталог логов.
Значение результата
| string | Каталог логов |
string getCharset()
Получает кодировку приложения.
Значение результата
| string | Кодировка |
static string stripComments(string $source)
Удаляет комментарии из строки исходного кода PHP.
Мы не используем функцию PHP php_strip_whitespace(), так как хотим, чтобы содержимое было читабельным и отформатированным.
Параметры
| string | $source | Строка PHP |
Значение результата
| string | Строка PHP без комментариев |
serialize()
unserialize($data)
Параметры
| $data |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/HttpKernel/Kernel.html