Symfony

Workflow Component

State machines, workflows, places, transitions, guards, event listeners, marking store

18 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Mid-Level
1

Workflow āđƒāļ™ Symfony āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

Workflow āđƒāļ™ Symfony āļ„āļ·āļ­āđ‚āļĄāđ€āļ”āļĨāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļ‚āļąāđ‰āļ™āļ•āļ­āļ™ (places) āđāļĨāļ°āļāļēāļĢāļāļĢāļ°āļ—āļģ (transitions) āļ—āļĩāđˆāļ­āļ­āļšāđ€āļˆāđ‡āļāļ•āđŒāļŠāļēāļĄāļēāļĢāļ–āļ”āļģāđ€āļ™āļīāļ™āļ•āļēāļĄāđ„āļ”āđ‰ āļĄāļąāļ™āļˆāļąāļ”āļāļēāļĢāļāļĢāļ°āđāļŠāļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ‹āļķāđˆāļ‡āļ­āļ­āļšāđ€āļˆāđ‡āļāļ•āđŒāļŠāļēāļĄāļēāļĢāļ–āļ­āļĒāļđāđˆāđƒāļ™āļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļ°āļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ„āļ”āđ‰ āļ•āđˆāļēāļ‡āļˆāļēāļ state machine āđ‚āļ”āļĒ Workflow āļ­āļīāļ‡āļ•āļēāļĄāđāļ™āļ§āļ„āļīāļ” Petri net āđāļĨāļ°āđ€āļŦāļĄāļēāļ°āļāļąāļšāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāļ—āļēāļ‡āļ˜āļļāļĢāļāļīāļˆāļ—āļĩāđˆāļĄāļĩāđ€āļŠāđ‰āļ™āļ—āļēāļ‡āļ‚āļ™āļēāļ™

2

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŦāļĨāļąāļāļĢāļ°āļŦāļ§āđˆāļēāļ‡ Workflow āđāļĨāļ° State Machine āđƒāļ™ Symfony āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ­āļĒāļđāđˆāļ—āļĩāđˆāļˆāļģāļ™āļ§āļ™āļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļžāļĢāđ‰āļ­āļĄāļāļąāļ™āđ„āļ”āđ‰ State Machine āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāđ€āļžāļĩāļĒāļ‡āļŠāļ–āļēāļ™āļ°āđ€āļ”āļĩāļĒāļ§āđƒāļ™āđāļ•āđˆāļĨāļ°āļ„āļĢāļąāđ‰āļ‡ (single_state) āđ€āļŦāļĄāļēāļ°āļāļąāļšāļāļĢāļ°āđāļŠāđ€āļŠāļīāļ‡āđ€āļŠāđ‰āļ™āļ­āļĒāđˆāļēāļ‡āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡āļ‹āļ·āđ‰āļ­ āļŠāđˆāļ§āļ™ Workflow āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļ°āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ (multiple_state) āđ€āļŦāļĄāļēāļ°āļāļąāļšāļāļĢāļ°āļšāļ§āļ™āļāļēāļĢāđāļšāļšāļ‚āļ™āļēāļ™āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ­āļāļŠāļēāļĢāđ‚āļ”āļĒāļŦāļĨāļēāļĒāđāļœāļ™āļ

3

āļˆāļ°āļāļģāļŦāļ™āļ” type āļ‚āļ­āļ‡ Workflow āđƒāļ™āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē YAML āļ‚āļ­āļ‡ Symfony āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ„āļģāļ•āļ­āļš

type āļ‚āļ­āļ‡ workflow āļ–āļđāļāļāļģāļŦāļ™āļ”āļœāđˆāļēāļ™āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ type āđƒāļ™āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē YAML āļ āļēāļĒāđƒāļ•āđ‰ framework.workflows.[name] āļ„āđˆāļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰āļĄāļĩāļŠāļ­āļ‡āļ„āđˆāļēāļ„āļ·āļ­ workflow āđ€āļžāļ·āđˆāļ­āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļŦāļĨāļēāļĒāļŠāļ–āļēāļ™āļ°āļžāļĢāđ‰āļ­āļĄāļāļąāļ™ āļŦāļĢāļ·āļ­ state_machine āđ€āļžāļ·āđˆāļ­āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļĄāļĩāļŠāļ–āļēāļ™āļ°āļ—āļĩāđˆāļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāđ€āļžāļĩāļĒāļ‡āļŠāļ–āļēāļ™āļ°āđ€āļ”āļĩāļĒāļ§ āļāļēāļĢāđ€āļĨāļ·āļ­āļāļ™āļĩāđ‰āļˆāļ°āļŠāđˆāļ‡āļœāļĨāļ•āđˆāļ­ type āļ‚āļ­āļ‡ marking store āļ—āļĩāđˆāđƒāļŠāđ‰āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

4

place āđƒāļ™āļšāļĢāļīāļšāļ—āļ‚āļ­āļ‡āļ„āļ­āļĄāđ‚āļžāđ€āļ™āļ™āļ•āđŒ Workflow āļ‚āļ­āļ‡ Symfony āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

5

āļˆāļ°āļāļģāļŦāļ™āļ” transition āđƒāļ™āļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļē Workflow āļ‚āļ­āļ‡ Symfony āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

+15 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Symfony āļ­āļ·āđˆāļ™āđ†

PHP āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ (8.1+)

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Symfony

Junior
25 āļ„āļģāļ–āļēāļĄ

Routing & Controllers

Junior
20 āļ„āļģāļ–āļēāļĄ

Twig & Templates

Junior
20 āļ„āļģāļ–āļēāļĄ

āļžāļ·āđ‰āļ™āļāļēāļ™ Doctrine ORM

Junior
25 āļ„āļģāļ–āļēāļĄ

āļŸāļ­āļĢāđŒāļĄ Symfony

Junior
22 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļĄāļđāļĨ

Junior
18 āļ„āļģāļ–āļēāļĄ

Dependency Injection & Services

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

Security & Authentication

Mid-Level
26 āļ„āļģāļ–āļēāļĄ

Doctrine āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

API Platform

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Serializer Component

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Events & Event Subscribers

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Console & Commands

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Messenger Component

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

HTTP Client

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Cache & āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Testing Symfony

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Mailer Component

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāđāļ›āļĨāđāļĨāļ° i18n

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

EasyAdmin Bundle

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ Symfony

Senior
24 āļ„āļģāļ–āļēāļĄ

āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Senior
22 āļ„āļģāļ–āļēāļĄ

āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡

Senior
22 āļ„āļģāļ–āļēāļĄ

Custom Bundles

Senior
20 āļ„āļģāļ–āļēāļĄ

Microservices āļ”āđ‰āļ§āļĒ Symfony

Senior
22 āļ„āļģāļ–āļēāļĄ

Real-time & WebSockets

Senior
18 āļ„āļģāļ–āļēāļĄ

Deployment & DevOps

Senior
20 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Symfony āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ