Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
#advanced #php82 Интересный спор разгорелся в твиттере по поводу RFC о депрекейте динамических свойств в php 8.2 и полном запрете в будущих версиях. Пока одни утверждают, что этот RFC приближает PHP к смерти (интересно, к какой по счету?), другие считают…
#advanced #symfony
Symfony разработчики уже начали кампанию по удалению динамических свойств из ядра фреймворка.
https://github.com/symfony/symfony/pull/44037
Symfony разработчики уже начали кампанию по удалению динамических свойств из ядра фреймворка.
https://github.com/symfony/symfony/pull/44037
GitHub
Never rely on dynamic properties by nicolas-grekas · Pull Request #44037 · symfony/symfony
Q
A
Branch?
4.4
Bug fix?
no
New feature?
no
Deprecations?
no
Tickets
-
License
MIT
Doc PR
-
As described in https://wiki.php.net/rfc/deprecate_dynamic_properties
A
Branch?
4.4
Bug fix?
no
New feature?
no
Deprecations?
no
Tickets
-
License
MIT
Doc PR
-
As described in https://wiki.php.net/rfc/deprecate_dynamic_properties
#advanced #symfony
Symfony провели редизайн логов профайлера.
https://symfony.com/blog/new-in-symfony-5-4-redesigned-profiler-logs
Symfony провели редизайн логов профайлера.
https://symfony.com/blog/new-in-symfony-5-4-redesigned-profiler-logs
Symfony
New in Symfony 5.4: Redesigned Profiler Logs (Symfony Blog)
In Symfony 5.4 we've redesigned the logs section of the Symfony profiler to make information easier to find and understand.
#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.