[Программирование, Symfony] Новое в Symfony 5.2: атрибуты PHP 8 (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В преддверии старта курса «Symfony Framework» предлагаем будущим студентам и всем желающим посмотреть запись вебинара на тему «Микрофреймворки: сравнение производительности Symfony и Symlex».
Также делимся переводом полезного материала.
В PHP 8 были добавлены новые интересные фичи, такие как типы объединения, match-выраженияи constructor property promotion. Однако наиболее востребованной новой фичей являются встроенные атрибуты (также называемые аннотациями).Symfony 5.2 будет включать поддержку атрибутов PHP 8 для определения роутов и необходимых зависимостей. Если вы уже используете аннотации, переход будет бесшовным:
// ДО: аннотации определенные с помощью библиотеки Doctrine Annotations
use Symfony\Component\Routing\Annotation\Route;
class SomeController
{
/**
* @Route("/path", name="action")
*/
public function someAction()
{
// ...
}
}
// ПОСЛЕ: аннотации, определенные с помощью атрибутов PHP 8
use Symfony\Component\Routing\Annotation\Route;
class SomeController
{
#[Route('/path', name: 'action')]
public function someAction()
{
// ...
}
}
Тот же класс Route обеспечивает поддержку аннотаций Doctrine и атрибутов PHP, поэтому вам не нужно изменять импорт класса. Единственное необходимое изменение — обновить синтаксис аннотаций, который теперь выглядит так: #[…] Вот и все! Ваше приложение теперь использует нативные атрибуты PHP, и вы можете удалить зависимости, такие как doctrine/annotations, если вы не используете их где-либо еще.Мы также добавили атрибут #[Required], чтобы заменить аннотацию @Required и сообщить Symfony, что свойство/метод содержит требуемую зависимость:
use Symfony\Contracts\Service\Attribute\Required;
class SomeService
{
#[Required]
public Bar $bar;
#[Required]
public function setFoo(Foo $foo): void
{
// ...
}
}
PHP вступает в новую золотую эру с выпуском PHP 8, и Symfony будет полностью с ним совместим с первого дня. Эти атрибуты — только начало, и в ближайшие недели мы добавим еще больше (например, для валидации).
Узнать подобнее о курсе «Symfony Framework».
Смотреть запись вебинара «Микрофреймворки: сравнение производительности Symfony и Symlex».
ЗАБРАТЬ СКИДКУ
===========
Источник:
habr.com
===========
===========
Автор оригинала: Javier Eguiluz
===========Похожие новости:
- [Open source, PHP, Программирование] PHP 8 продолжает развитие опенсорсного языка программирования (перевод)
- [Ajax, PHP, JavaScript, Программирование] Ajax, REST API OpenCart
- [Программирование, Алгоритмы] Трюк с XOR для собеседований и не только (перевод)
- [Системное администрирование, Программирование, IT-инфраструктура, DevOps] Тонкости настройки CI/CD: как работает GitLab runner, когда использовать Docker-in-Docker и где пригодится Argo CD
- [Разработка веб-сайтов, JavaScript, Программирование, ReactJS] Изучаем React: 300+ вопросов для подготовки к собеседованию
- [Программирование, Java] Анбоксинг в современной Java
- [Программирование, Компиляторы, Читальный зал, История IT] Ограничение прав доступа к переменным
- [Ненормальное программирование, PHP, Программирование, Математика] Двоичные и побитовые операции в PHP (перевод)
- [Программирование, Алгоритмы] Splay-дерево. Вставка (перевод)
- [PHP, JavaScript, Программирование, Symfony] Новое в Symfony: инициатива UX — новая экосистема JavaScript для Symfony (перевод)
Теги для поиска: #_programmirovanie (Программирование), #_symfony, #_php, #_symfony, #_php8, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_programmirovanie (
Программирование
), #_symfony
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:52
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В преддверии старта курса «Symfony Framework» предлагаем будущим студентам и всем желающим посмотреть запись вебинара на тему «Микрофреймворки: сравнение производительности Symfony и Symlex».
Также делимся переводом полезного материала. В PHP 8 были добавлены новые интересные фичи, такие как типы объединения, match-выраженияи constructor property promotion. Однако наиболее востребованной новой фичей являются встроенные атрибуты (также называемые аннотациями).Symfony 5.2 будет включать поддержку атрибутов PHP 8 для определения роутов и необходимых зависимостей. Если вы уже используете аннотации, переход будет бесшовным: // ДО: аннотации определенные с помощью библиотеки Doctrine Annotations
use Symfony\Component\Routing\Annotation\Route; class SomeController { /** * @Route("/path", name="action") */ public function someAction() { // ... } } // ПОСЛЕ: аннотации, определенные с помощью атрибутов PHP 8
use Symfony\Component\Routing\Annotation\Route; class SomeController { #[Route('/path', name: 'action')] public function someAction() { // ... } } use Symfony\Contracts\Service\Attribute\Required;
class SomeService { #[Required] public Bar $bar; #[Required] public function setFoo(Foo $foo): void { // ... } } Узнать подобнее о курсе «Symfony Framework».
Смотреть запись вебинара «Микрофреймворки: сравнение производительности Symfony и Symlex». ЗАБРАТЬ СКИДКУ =========== Источник: habr.com =========== =========== Автор оригинала: Javier Eguiluz ===========Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_programmirovanie ( Программирование ), #_symfony |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:52
Часовой пояс: UTC + 5