Ядро
класс Ядро реализует 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|array | locateResource(string $name, string $dir = null, bool $first = true) Возвращает путь к файлу для данного ресурса. | |
| string | getName() Возвращает имя ядра. | |
| string | getEnvironment() Возвращает среду. | |
| bool | isDebug() Проверяет, включен ли режим отладки. | |
| string | getRootDir() Возвращает корневую директорию приложения. | |
| Интерфейс контейнера | getContainer() Возвращает текущий контейнер. | |
| loadClassCache(string $name = 'classes', string $extension = '.php') Загружает кэш PHP-классов. | ||
| setClassCache(array $classes) Используется внутри. | ||
| 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 | Экземпляр Request |
| Ответ | $response | Экземпляр Response |
shutdown()
Выключает ядро.
Этот метод полезен в основном при функциональном тестировании.
Ответ handle(Запрос $request, int $type = HttpKernelInterface::MASTER_REQUEST, bool $catch = true)
Обрабатывает запрос, чтобы преобразовать его в ответ.
Когда $catch равен true, реализация должна перехватывать все исключения и по возможности преобразовывать их в экземпляр Response.
Параметры
| Запрос | $request | Экземпляр Request |
| int | $type | Тип запроса (один из HttpKernelInterface::MASTER_REQUEST или HttpKernelInterface::SUB_REQUEST) |
| bool | $catch | Перехватывать исключения или нет |
Возвращаемое значение
| Ответ | Экземпляр Response |
Исключения
| Исключение | При возникновении исключения во время обработки |
BundleInterface[] getBundles()
Возвращает зарегистрированные экземпляры пакетов.
Возвращаемое значение
| BundleInterface[] | Массив зарегистрированных экземпляров пакетов |
BundleInterface|BundleInterface[] getBundle(string $name, bool $first = true)
Возвращает пакет и (необязательно) его потомков по его имени.
Параметры
| 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()
Возвращает корневой каталог приложения.
Возвращаемое значение
| string | Корневой каталог приложения |
ContainerInterface getContainer()
Возвращает текущий контейнер.
Возвращаемое значение
| ContainerInterface | Экземпляр ContainerInterface |
loadClassCache(string $name = 'classes', string $extension = '.php')
Загружает кеш PHP-классов.
Этот метод только регистрирует необходимость загрузки классов кеша. Фактическая загрузка кеша произойдет только при запуске ядра.
Это оптимизация особенно полезна при использовании класса HttpCache, в котором кеш классов не загружается, если ответ находится в кеше.
Параметры
| string | $name | Префикс имени кеша |
| string | $extension | Расширение файла результата |
setClassCache(array $classes)
Используется внутри.
Параметры
| array | $classes |
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.1/Symfony/Component/HttpKernel/Kernel.html