#symfony
Улучшения Dependency Injection, которые ждут нас в Symfony 5.4.
https://symfony.com/blog/new-in-symfony-5-4-dependencyinjection-improvements
Улучшения Dependency Injection, которые ждут нас в Symfony 5.4.
https://symfony.com/blog/new-in-symfony-5-4-dependencyinjection-improvements
Symfony
New in Symfony 5.4: DependencyInjection Improvements (Symfony Blog)
Symfony 5.4 adds features such as autowiring of union and intersection types, improved TaggedIterator and TaggedLocator attributes and autoconfiguration of methods and properties.
#symfony
Увеличиваем скорость прохождения тестов в Symfony. Советы от Максима Рафалко, автора infection.
https://maks-rafalko.github.io/blog/2021-11-21/symfony-tests-performance/
Увеличиваем скорость прохождения тестов в Symfony. Советы от Максима Рафалко, автора infection.
https://maks-rafalko.github.io/blog/2021-11-21/symfony-tests-performance/
maks-rafalko.github.io
Improve Symfony Tests Performance | Maks Rafalko
Improve performance of tests suite for Symfony Application.
#advanced #symfony
Обзор компонена Encryption, который, возможно, появится в Symfony 6.1.
https://alex-daubois.medium.com/whats-this-upcoming-encryption-component-of-symfony-6-1-c3359af26532
Обзор компонена Encryption, который, возможно, появится в Symfony 6.1.
https://alex-daubois.medium.com/whats-this-upcoming-encryption-component-of-symfony-6-1-c3359af26532
Medium
What’s this upcoming “Encryption” component of Symfony 6.1?
You may say it’s to encrypt data. Yes. But no. Let’s clarify.
#symfony
Все новые фичи Symfony 5.4/6.0 в одном посте. Как видно, нового мало.
https://symfony.com/blog/symfony-5-4-6-0-curated-new-features
Все новые фичи Symfony 5.4/6.0 в одном посте. Как видно, нового мало.
https://symfony.com/blog/symfony-5-4-6-0-curated-new-features
Symfony
Symfony 5.4/6.0 curated new features (Symfony Blog)
#symfony
Новый компонент Symfony. Помогает очищать html документ для его безопасного использования.
https://github.com/symfony/html-sanitizer
Новый компонент Symfony. Помогает очищать html документ для его безопасного использования.
https://github.com/symfony/html-sanitizer
GitHub
GitHub - symfony/html-sanitizer: Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's…
Provides an object-oriented API to sanitize untrusted HTML input for safe insertion into a document's DOM. - symfony/html-sanitizer
#symfony
Основная беда Symfony – она предоставляет богатые возможности для решения многочисленных сложных проблем, но с помощью нее сложно решать простые задачи. Например, возьмем миддлвары. Достаточно простой и удобный механизм, упрощающий написание http-обработчиков. Для миддлвар даже придумали стандарт в php-fig.
С помощью миддлвар можно подготавливать запрос, ограничивать доступ, декорировать запрос и ответ для логирования, обработки ошибок и многое другое. Сейчас миддлвары можно имитировать с помощью событий ядра, однако это неудобно, так как приходится помнить о приоритете выполнения слушателей, и неявно, потому что непонятно, какой именно слушатель перехватил запрос.
В Laravel, например, есть миддлвары, хоть и не следующие стандарту psr-15. Можно ли такое сделать в Symfony? Оказывается, можно. Есть такой пакет, который реализует psr-15 и дает возможность использовать как глобальные миддлвары, так и миддлвары конкретно для контроллера.
Следование стандарту позволяет вам поставить любую известную вам миддлвару и использовать ее вместе с этим пакетом. Он (пакет) перехватывает событие
Преимущества по сравнению с событиями:
- Следование стандарту psr-15;
- Возможность объединять миддлвары в группы;
- Возможность точечно поставить миддлвары над конкретным контроллером;
- Возможность из коробки запускать миддлвары в зависимости от условия (например, в дебаг режиме запустить миддлвару, включающую логирование sql запросов, а в прод режиме – не запускать).
Также автор собирается добавить поддержку аргументов в миддлварах, чтобы можно было динамически указывать специфические для каждого из контроллеров аргументы.
Основная беда Symfony – она предоставляет богатые возможности для решения многочисленных сложных проблем, но с помощью нее сложно решать простые задачи. Например, возьмем миддлвары. Достаточно простой и удобный механизм, упрощающий написание http-обработчиков. Для миддлвар даже придумали стандарт в php-fig.
С помощью миддлвар можно подготавливать запрос, ограничивать доступ, декорировать запрос и ответ для логирования, обработки ошибок и многое другое. Сейчас миддлвары можно имитировать с помощью событий ядра, однако это неудобно, так как приходится помнить о приоритете выполнения слушателей, и неявно, потому что непонятно, какой именно слушатель перехватил запрос.
В Laravel, например, есть миддлвары, хоть и не следующие стандарту psr-15. Можно ли такое сделать в Symfony? Оказывается, можно. Есть такой пакет, который реализует psr-15 и дает возможность использовать как глобальные миддлвары, так и миддлвары конкретно для контроллера.
Следование стандарту позволяет вам поставить любую известную вам миддлвару и использовать ее вместе с этим пакетом. Он (пакет) перехватывает событие
ControllerArgumentsEvent
, на этапе которого уже известен и контроллер, и его аргументы. Пакет проверяет, нужно ли запускать какие-то миддлвары – глобальыне и/или локальные – и запускает их до выполнения контроллера. Преимущества по сравнению с событиями:
- Следование стандарту psr-15;
- Возможность объединять миддлвары в группы;
- Возможность точечно поставить миддлвары над конкретным контроллером;
- Возможность из коробки запускать миддлвары в зависимости от условия (например, в дебаг режиме запустить миддлвару, включающую логирование sql запросов, а в прод режиме – не запускать).
Также автор собирается добавить поддержку аргументов в миддлварах, чтобы можно было динамически указывать специфические для каждого из контроллеров аргументы.
www.php-fig.org
PSR-15: HTTP Server Request Handlers - PHP-FIG
We're a group of established PHP projects whose goal is to talk about commonalities between our projects and find ways we can work better together.
👍13🔥5💩3❤2
#symfony
В последних обновлениях Symfony (6.0.3 и 5.4.3) настройка, включающая CSRF защиту, оказалась по умолчанию выключена, если не была включена явно. Обновляйте фреймворк до последних версий — 6.0.4 и 5.4.4 —, так как ваша версия может быть уязвимой для CSRF атак.
https://symfony.com/blog/cve-2022-xxxx-csrf-token-missing-in-forms
В последних обновлениях Symfony (6.0.3 и 5.4.3) настройка, включающая CSRF защиту, оказалась по умолчанию выключена, если не была включена явно. Обновляйте фреймворк до последних версий — 6.0.4 и 5.4.4 —, так как ваша версия может быть уязвимой для CSRF атак.
https://symfony.com/blog/cve-2022-xxxx-csrf-token-missing-in-forms
Symfony
CVE-2022-23601: CSRF token missing in forms (Symfony Blog)
CVE-2022-23601 fixes CSRF token missing in forms.