В преддверии старта курса «Symfony Framework» предлагаем будущим студентам и всем желающим посмотреть запись вебинара на тему «Микрофреймворки: сравнение производительности Symfony и Symlex».

Также делимся переводом полезного материала.


В PHP 8 были добавлены новые интересные фичи, такие как типы объединения, match-выражения и constructor property promotion. Однако наиболее востребованной новой фичей являются встроенные атрибуты (также называемые аннотациями).

Symfony 5.2 будет включать поддержку атрибутов PHP 8 для определения роутов и необходимых зависимостей. Если вы уже используете аннотации, переход будет бесшовным:

// ДО: аннотации определенные с помощью библиотеки Doctrine Annotations
use SymfonyComponentRoutingAnnotationRoute;

class SomeController
{
    /**
     * @Route("/path", name="action")
     */
    public function someAction()
    {
        // ...
    }
}
// ПОСЛЕ: аннотации, определенные с помощью атрибутов PHP 8
use SymfonyComponentRoutingAnnotationRoute;

class SomeController
{
    #[Route('/path', name: 'action')]
    public function someAction()
    {
        // ...
    }
}

Тот же класс Route обеспечивает поддержку аннотаций Doctrine и атрибутов PHP, поэтому вам не нужно изменять импорт класса. Единственное необходимое изменение — обновить синтаксис аннотаций, который теперь выглядит так: #[…] Вот и все! Ваше приложение теперь использует нативные атрибуты PHP, и вы можете удалить зависимости, такие как doctrine/annotations, если вы не используете их где-либо еще.

Мы также добавили атрибут #[Required], чтобы заменить аннотацию @Required и сообщить Symfony, что свойство/метод содержит требуемую зависимость:

use SymfonyContractsServiceAttributeRequired;

class SomeService
{
    #[Required]
    public Bar $bar;

    #[Required]
    public function setFoo(Foo $foo): void
    {
        // ...
    }
}

PHP вступает в новую золотую эру с выпуском PHP 8, и Symfony будет полностью с ним совместим с первого дня. Эти атрибуты — только начало, и в ближайшие недели мы добавим еще больше (например, для валидации).


Узнать подобнее о курсе «Symfony Framework».

Смотреть запись вебинара «Микрофреймворки: сравнение производительности Symfony и Symlex».


ЗАБРАТЬ СКИДКУ

Let’s block ads! (Why?)

Read More

Recent Posts

Apple возобновила переговоры с OpenAI и Google для интеграции ИИ в iPhone

Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…

22 часа ago

Российская «дочка» Google подготовила 23 иска к крупнейшим игрокам рекламного рынка

Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…

1 день ago

Google завершил обновление основного алгоритма March 2024 Core Update

Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…

1 день ago

Нейросети будут писать тексты объявления за продавцов на Авито

У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…

1 день ago

Объявлены победители международной премии Workspace Digital Awards-2024

24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…

2 дня ago

Яндекс проведет гик-фестиваль Young Con

27 июня Яндекс проведет гик-фестиваль Young Con для студентов и молодых специалистов, которые интересуются технологиями и хотят работать в IT.…

2 дня ago