Как настроить страницу ошибки в фреймворке Symfony?

В приложениях Symfony все ошибки рассматриваются как исключения Exception, независимо от того, являются ли они просто ошибкой 404 Not Found или фатальной ошибкой, вызванной возникновением некоторого исключения в вашем коде.

В среде разработки Symfony перехватывает все исключения и отображает специальную страницу исключений со множеством отладочной информации, которая поможет вам обнаружить корневую проблему:

Читать далее

Контроллеры в фреймворке Symfony.

Контроллер — это созданная вами функция PHP, которая считывает информацию из объекта Request, создает и возвращает объект Response. Ответом может быть страница HTML, JSON, XML, загрузка файла, перенаправление, ошибка 404 или что-то еще.

Контроллер выполняет любую произвольную логику, необходимую вашему приложению для визуализации содержимого страницы.

Читать далее

Класс Response в Symfony в компоненте HttpFoundation Component.

Компонент Symfony HttpFoundation содержит очень полезный класс Response. Объект класса Response содержит всю информацию, которая должна быть отправлена обратно клиенту из данного запроса: содержимое ответа, заголовки и т.д.

Читать далее

Класс Request в Symfony в компоненте HttpFoundation Component.

Компонент HttpFoundation определяет объектно-ориентированный уровень для HTTP.

В PHP запрос представлен некоторыми глобальными переменными ($ _GET, $ _POST, $ _FILES, $ _COOKIE, $ _SESSION, …), и ответ генерируется некоторыми функциями (echo, header (), setcookie (), …).

Компонент Symfony HttpFoundation заменяет эти глобальные переменные и функции PHP отдельным объектно-ориентированным слоем.

Читать далее

Как в Symfony добавить дополнительные данные в лог сообщений Монолога через специальный процессор?

Monolog позволяет обрабатывать каждую запись лога перед ее сохранением в лог, и добавлять дополнительные данные. Это роль процессора, который можно применять для всего стека обработчиков или только для определенного обработчика или канала.

Процессор — это вызываемый объект, получающий запись лога в качестве первого аргумента. Процессоры настраиваются с помощью тега DIC monolog.processor.

Читать далее

Autowiring в сервис-контейнере Symfony. Автоматическая установка зависимостей в сервисах Symfony.

Autowiring позволяет управлять сервисами в контейнере с минимальной конфигурацией. Autowiring считывает тайп-хинты, указанные в конструкторах классов (или других методах) и автоматически передает правильные сервисы каждому методу.

Autowiring Symfony спроектирован так, чтобы быть предсказуемым: если не совсем ясно, какую зависимость следует передавать, вы увидите хорошо описанное исключение.

Благодаря скомпилированному контейнеру Symfony нет никаких накладных расходов при использовании autowiting.

Читать далее

Как в сервис-контейнере Symfony увидеть список всех сервисов и их параметры.

Вы можете узнать, какие сервисы зарегистрированы в контейнере, используя консольную команду. Чтобы показать все сервисы (публичные и частные) и их классы PHP, запустите:

 php bin/console debug:container

Добавьте эту опцию «show-hidden» , чтобы отобразить также и скрытые сервисы (те, чей идентификатор начинается с точки):

Читать далее