MidТеория3 min

Отличия экзаменов

Полное сравнение экзаменов Symfony 7.4 и 8.0: темы, компоненты, конфигурация

Отличия экзаменов Symfony 7.4 и 8.0

Общие требования

Аспект Symfony 7.4 Symfony 8.0
Версия PHP 8.1+ 8.4+
Версия Twig 3.3 3.22
Формат вопросов Multiple choice Multiple choice
Количество вопросов 75 75
Время 90 минут 90 минут
Проходной балл ~70% ~70%

Темы экзамена: сравнение

Тема 1: PHP & HTTP

Sf 7.4 Sf 8.0 Изменение
PHP API (SPL, DOM, ...) УДАЛЕНО SPL и расширения PHP убраны
Object Oriented Programming Object Oriented Programming Без изменений
Namespaces Namespaces Без изменений
Interfaces Interfaces Без изменений
Anonymous functions / closures Anonymous functions / closures Без изменений
Abstract classes Abstract classes Без изменений
PHP Extensions УДАЛЕНО Больше не тестируется
- Enumerations НОВОЕ: PHP 8.1+ Enums
- Fibers НОВОЕ: PHP Fibers
- Readonly properties НОВОЕ
- Named arguments НОВОЕ
- First class callables НОВОЕ
HTTP caching HTTP caching Без изменений
- RFC HTTP specifications НОВОЕ

Тема 2: Symfony Architecture

Sf 7.4 Sf 8.0 Изменение
Symfony Flex Symfony Flex Без изменений
License License Без изменений
Components Components Без изменений
Bridges Bridges Без изменений
Code organization Code organization Без изменений
Request handling Request handling Без изменений
- Configuration (YAML/PHP only) XML/Annotations УДАЛЕНЫ
Exception handling Exception handling Без изменений
Event dispatcher / kernel events Event dispatcher / kernel events Без изменений
Official best practices Official best practices Без изменений
Release management Release management Без изменений
Backward compatibility promise Backward compatibility promise Без изменений
Deprecations best practices Deprecations best practices Без изменений
- Framework overloading НОВОЕ

Тема 3: Controllers

Sf 7.4 Sf 8.0 Изменение
Naming conventions Naming conventions Без изменений
HTTP response object HTTP response object Без изменений
HttpFoundation Component HttpFoundation Component Теперь явно указан
Built-in internal controllers Built-in internal controllers Без изменений
- Streamed / JSON responses НОВОЕ: отдельной строкой
- #[MapRequestPayload] НОВОЕ: Sf 6.3+
- #[MapQueryString] НОВОЕ: Sf 6.3+

Тема 4: Routing

Минимальные изменения. PHP-атрибуты остались, XML/аннотации убраны.

Тема 5: Twig

Sf 7.4 Sf 8.0 Изменение
Twig 3.3 Twig 3.22 Обновлённая версия
Auto-escaping Auto-escaping Без изменений
- Twig Components НОВОЕ (UX)

Тема 6: Forms

Sf 7.4 Sf 8.0 Изменение
Forms Forms Без изменений
- Form Component Теперь явно указан как компонент

Тема 7: Validation

Sf 7.4 Sf 8.0 Изменение
Validation Validation Без изменений
- Validator Component Теперь явно указан
- PHP attributes for constraints Акцент на атрибутах

Тема 8: Dependency Injection

Sf 7.4 Sf 8.0 Изменение
Service Container Service Container Без изменений
- DependencyInjection Component Теперь явно указан
- #[AutowireLocator] НОВОЕ: Service Locators
- Service locators НОВОЕ
- PHP attributes registration Акцент на атрибутах
Tags Tags Без изменений
Semantic configuration Semantic configuration Без изменений
Compiler passes Compiler passes Без изменений

Тема 9: Security

Sf 7.4 Sf 8.0 Изменение
Authentication Authentication Без изменений
Authorization Authorization Без изменений
- Security Core Component Теперь явно указан
- CSRF Component Теперь явно указан
- PasswordHasher Component Теперь явно указан
- Authenticators НОВОЕ: отдельная тема
- Passports НОВОЕ: отдельная тема
- Badges НОВОЕ: отдельная тема
Firewalls Firewalls Без изменений
Users providers Users providers Без изменений
Voters Voters Без изменений
Access control rules Access control rules Без изменений

Тема 10: Messenger (НОВАЯ ТЕМА)

Sf 7.4 Sf 8.0
Часть Miscellaneous Отдельная тема
- Messages, handlers
- Transports (AMQP)
- Middleware
- Retry strategy

Тема 11: Console

Sf 7.4 Sf 8.0 Изменение
Console Console Без изменений
- Console Component Теперь явно указан
- PHP attributes for arguments НОВОЕ

Тема 12: Automated Tests

Sf 7.4 Sf 8.0 Изменение
Unit tests Unit tests Без изменений
Functional tests Functional tests Без изменений
Client object Client object Без изменений
Crawler object Crawler object Без изменений
PHPUnit Bridge УДАЛЕНО Больше не тестируется
- CssSelector Component Теперь явно указан
- DomCrawler Component Теперь явно указан
- WebProfiler Bundle Теперь явно указан

Тема 13: Miscellaneous

Sf 7.4 Sf 8.0 Изменение
DotEnv DotEnv Без изменений
ExpressionLanguage ExpressionLanguage Без изменений
Messenger Перенесён в отдельную тему ПЕРЕНЕСЕНО
Serializer Serializer Без изменений
Intl ICU utilities УДАЛЕНО Больше не тестируется
- Cache Component НОВОЕ: явно указан
- Mailer Component НОВОЕ: явно указан
- Mime Component НОВОЕ: явно указан
- Clock Component НОВОЕ
- Filesystem Component НОВОЕ: явно указан
- Finder Component НОВОЕ: явно указан
- EventDispatcher Component НОВОЕ: явно указан
- Event Component НОВОЕ: явно указан
- Runtime Component НОВОЕ
Lock УДАЛЕНО Убран из экзамена
ESI УДАЛЕНО Убран из экзамена

Конфигурация: что изменилось

Sf 7.4 Sf 8.0
YAML, XML, PHP, Annotations Только YAML и PHP-атрибуты
@Route annotations #[Route] attributes only
@Assert\* annotations #[Assert\*] attributes only
XML config supported XML config REMOVED from exam

Сводная таблица: УДАЛЕНО из Sf8

Тема Причина
SPL (PHP API) Не специфично для Symfony
PHP Extensions Не специфично для Symfony
PHPUnit Bridge Устарел, стандартный PHPUnit достаточен
ESI (Edge Side Includes) Узкая тема, убрана
Lock Component Узкая тема, убрана
Intl ICU utilities Узкая тема, убрана
XML configuration Deprecated в пользу YAML/PHP
Annotations Deprecated в пользу PHP attributes

Сводная таблица: НОВОЕ в Sf8

Тема Категория
PHP Enums, Fibers, Readonly PHP 8.1+ features
Authenticators, Passports, Badges Security
Messenger (отдельная тема) Messaging
Service Locators, #[AutowireLocator] DI
Clock, Runtime Components Components
#[MapRequestPayload], #[MapQueryString] Controllers
PHP attributes for console args Console
Framework overloading Architecture
Twig Components Twig

Итоги

  • Sf8 экзамен модернизирован: PHP 8.4+, только YAML/PHP-атрибуты
  • Убраны устаревшие темы: SPL, PHP extensions, XML, annotations, PHPUnit Bridge
  • Добавлены новые: Messenger (отдельная тема), Security (authenticators/passports/badges)
  • Компоненты теперь явно перечислены вместо общих тем
  • Акцент на PHP-атрибутах как основном способе конфигурации