Tracks

Each track is a project, written exercise after exercise in your browser: a live preview, tests that check each objective, and course notes at the end of each chapter. The first chapter is free with an account.

Comfortable with PHP and OOP? Learn Symfony by building, chapter after chapter, the website of the Drunken Dragon tavern.

12 chapters · 74 exercises · about 47 h €79.00 €49.00 incl. VAT, lifetime access Founder price, 99 seats left Buy First chapter free
  1. 01 First steps at the tavern free · 8 ex. · ≈ 3 h
    ControllerRouteTwigRoute parameter404
  2. 02 The cellar and the pantry 6 ex. · ≈ 2 h 45 min
    EntityMappingDoctrineRepositoryDependency injection
  3. 03 The tavern's scrolls 6 ex. · ≈ 2 h 45 min
    FormsFormTypeEntityTypeCSRFValidator
  4. 04 The keys to the tavern 6 ex. · ≈ 3 h 30 min
    Firewallform_loginaccess_controlUserInterfaceEntity provider
  5. 05 Magic scrolls 6 ex. · ≈ 4 h 30 min
    JSON API$this->json()Serializer#[Groups]#[Groups] on a method
  6. 06 Never again! 6 ex. · ≈ 4 h
    WebTestCasecreateClient()submitFormAssertionsTest database
  7. 07 The messenger raven 6 ex. · ≈ 3 h 30 min
    MessengerMessage#[AsMessageHandler]MessageBusInterfaceTransport
  8. 08 Back to the cellar 6 ex. · ≈ 4 h 45 min
    Migrationsdoctrine:migrations:diffdoctrine:migrations:migrateup() and down()Data migration
  9. 09 The tavern's inner workings 6 ex. · ≈ 3 h 30 min
    Kernel eventskernel.request#[AsEventListener]RequestEventClockInterface
  10. 10 The life of a reservation 6 ex. · ≈ 4 h 30 min
    MailerMailerInterfaceEmailMAILER_DSNassertEmailCount
  11. 11 The boss's orders 6 ex. · ≈ 4 h
    Console command#[AsCommand]SymfonyStyle#[Option]Exit codes
  12. 12 The big night 6 ex. · ≈ 6 h 15 min
    ModelingEntities and relationsValidationMigrationsController and templates

Coming soon

Fancy a short exercise, without a track? Practice works without an account.