Я настроил небольшой проект Symfony, построил защиту аутентификации, и все, кажется, работает гладко, но я нахожусь в точке, где я установил 2 брандмауэра (один для интерфейса администратора и один для веб-сайта, который он обрабатывает)).
Прежде чем двигаться дальше, мне нужно (или хотя бы попытаться) понять, как создается контейнер Symfony.Более конкретно, хранит ли он фактический исходный код пакетов и классов или просто ссылки на файлы?
Из того, что я мог собрать до сих пор, ядро Symfony берет вашу логику и анализирует ее в кэшированном виде (определение) PHP-класс, который загружается при каждом запросе.
Означает ли это, что если мое приложение использует 10 пакетов, их исходный код «живет» внутри полученного файла или просто ссылается на соответствующий им php
файлы? ... потому что мы говорим о чем-то, что выполняется при каждом запросе, даже если большинство (или ни один) из пакетов на самом деле не нужны.
Это больше проблема разделения кода, потому что если у вас естьN
комплектов в вашем приложении, очень маловероятно, что каждый запрос будет использовать все или любой из них.
Например, мы предполагаем 2 разных конечных точки входа в систему, которые используют один и тот же бэкэнд Symfony:
обычные пользователи: https://example.com/user/login
(брандмауэр A)
администраторы: https://admin.example.com/admin/login
(брандмауэр B)
, когда запрос использует брандмауэр A, где exactly - это исходный код для брандмауэра B? ... и наоборот
Они оба существуют внутри контейнера?, или каждый из них загружен условно, когда запрос соответствует определенным критериям (то есть имя хоста) ...Происходит ли то же самое для связок?
Или это аспект, который я должен полностью игнорировать?