Ядро
класс Ядро реализует KernelInterface, RebootableInterface, 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() Запускает текущее ядро. | ||
| reboot(string|null $warmupDir) Перезапускает ядро. | ||
| terminate(Запрос $request, Ответ $response) Завершает цикл запроса/ответа. | ||
| shutdown() Выключает ядро. | ||
| Ответ | handle(Запрос $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true) Обрабатывает Запрос для преобразования его в Ответ. | |
| Интерфейс пакета[] | getBundles() Получает зарегистрированные экземпляры пакетов. | |
| Интерфейс пакета|Интерфейс пакета[] | getBundle(string $name, bool $first = true) Возвращает пакет и, по желанию, его потомков по его имени. | |
| string|array | 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()
Запускает текущее ядро.
reboot(string|null $warmupDir)
Перезапускает ядро.
Метод getCacheDir() перезапускаемого ядра не должен вызываться во время построения контейнера. Используйте параметр %kernel.cache_dir%.
Параметры
| string|null | $warmupDir | передайте null, чтобы перезапустить в обычном каталоге кеша |
terminate(Request $request, Response $response)
Завершает цикл запроса/ответа.
Должен вызываться после отправки ответа и перед завершением работы ядра.
Параметры
| Request | $request | |
| Response | $response |
shutdown()
Завершает работу ядра.
Этот метод полезен в основном при функциональном тестировании.
Response handle(Request $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true)
Обрабатывает запрос для преобразования его в ответ.
Если $catch равно true, реализация должна перехватывать все исключения и сделать все возможное для преобразования их в экземпляр Response.
Параметры
| Request | $request | Экземпляр Request |
| int | $type | Тип запроса (один из HttpKernelInterface::MASTER_REQUEST или HttpKernelInterface::SUB_REQUEST) |
| bool | $catch | Перехватывать исключения или нет |
Возвращаемое значение
| Response | Экземпляр Response |
Исключения
| Exception | При возникновении исключения во время обработки |
BundleInterface[] getBundles()
Получает зарегистрированные экземпляры пакетов.
Возвращаемое значение
| BundleInterface[] | Массив зарегистрированных экземпляров пакетов |
BundleInterface|BundleInterface[] getBundle(string $name, bool $first = true)
Возвращает пакет и, необязательно, его потомков по его имени.
Второй аргумент устарел с версии 3.4 и будет удален в версии 4.0. Этот метод всегда будет возвращать экземпляр BundleInterface в версии 4.0.
Параметры
| string | $name | Имя пакета |
| bool | $first | Возвращать только первый пакет или вместе с его потомками |
Возвращаемое значение
| BundleInterface|BundleInterface[] | Экземпляр BundleInterface или массив экземпляров BundleInterface, если $first равен false |
Исключения
| InvalidArgumentException | если пакет не включен |
string|array locateResource(string $name, string $dir = null, bool $first = true)
Возвращает путь к файлу для заданного ресурса.
Ресурс может быть файлом или каталогом.
Имя ресурса должно соответствовать следующему шаблону:
"@BundleName/path/to/a/file.something"
где BundleName — имя пакета, а оставшаяся часть — относительный путь в пакете.
Если $dir передан и первый сегмент пути — "Resources", этот метод будет искать файл с именем:
$dir/<BundleName>/path/without/Resources
перед поиском в папке ресурсов пакета.
Параметры
| string | $name | Имя ресурса для поиска |
| string | $dir | Каталог, в котором сначала следует искать ресурс |
| bool | $first | Возвращать первый путь или пути для всех соответствующих пакетов |
Возвращаемое значение
| string|array | Абсолютный путь к ресурсу или массив, если $first равен false |
Исключения
| InvalidArgumentException | если файл не найден или имя некорректно |
| RuntimeException | если имя содержит недопустимые/опасные символы |
string getName()
Возвращает имя ядра.
Возвращаемое значение
| string | Имя ядра |
string getEnvironment()
Возвращает среду.
Возвращаемое значение
| string | Текущая среда |
bool isDebug()
Проверяет, включен ли режим отладки.
Возвращаемое значение
| bool | true, если режим отладки включен, иначе false |
string getRootDir()
Возвращает корневой каталог приложения (путь к классу Kernel проекта).
Возвращаемое значение
| string | Корневой каталог Kernel |
string getProjectDir()
Возвращает корневой каталог приложения (путь к файлу composer проекта).
Возвращаемое значение
| string | Корневой каталог проекта |
ContainerInterface getContainer()
Возвращает текущий контейнер.
Возвращаемое значение
| ContainerInterface | Экземпляр 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.4/Symfony/Component/HttpKernel/Kernel.html