Отличия экзаменов 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-атрибутах как основном способе конфигурации