В преддверии старта курса «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».
Apple возобновила переговоры с OpenAI о возможности внедрения ИИ-технологий в iOS 18, на основе данной операционной системы будут работать новые…
Конкурсный управляющий российской «дочки» Google подготовил 23 иска к участникам рекламного рынка. Общая сумма исков составляет 16 млрд рублей –…
Google завершил обновление основного алгоритма March 2024 Core Update. Раскатка обновлений была завершена 19 апреля, но сообщил об этом поисковик…
У частных продавцов на Авито появилась возможность составлять текст объявлений с помощью нейросети. Новый функционал доступен в категории «Обувь, одежда,…
24 апреля 2024 года в Москве состоялась церемония вручения наград международного конкурса Workspace Digital Awards. В этом году участниками стали…
27 июня Яндекс проведет гик-фестиваль Young Con для студентов и молодых специалистов, которые интересуются технологиями и хотят работать в IT.…