Mastering Symfony 4's Dependency Injection, by Nicolas Grekas
Recorded @ Web Summer Camp 2019
The Dependency Injection component is the spine of any Symfony apps. With Symfony 4, you should not be using the container directly in any parts of your src/ folder. In an apparent paradox, the container is now invisible from your code, allowing to create really decoupled classes that have little to no coupling with Symfony - the framework. In this workshop, I propose we review together 1. how automation works so you won't ever consider it "magic" 2. how to leverage configuration to create e.g. scoped service locators, named autowiring aliases, tagged iterators, and learn what all these beasts are if you don't ;)
Symfony Messenger, by Samuel Roze
Recorded @ Web Summer Camp 2019
The Symfony Messenger component brings to Symfony the notion of message buses and (optional) asynchronous processing of these messages via queues such as RabbitMq.
In this workshop, you will learn about (1) how to use the message bus pattern as a strategy to decouple your application, (2) configure the routing of your messages to handle them asynchronously and (3) discover the underlying notion of middleware and stamps in order to add your own logic to the buses. We'll then go into more details around (4) how Messenger applies in the CQRS context, (5) the specifics of the various transports for your asynchronous processing and (6) how to customise and write your own transports.
Symfony security component in examples, by Romaric Drigon
Recorded @ Web Summer Camp 2019
Symfony Security component is amongst the hardest to understand for newcomers, due to the huge numbers of new concepts. As a consequence, it is often not used or misused. This workshop will go through typical scenarios you may encounter, as adding authentication to an API, how to set up authorization easily, or how to handle fine-grained access control. For each, we will see which tools you can use, what are the best practices and what different projects taught me. Let's see how we can do more with less custom code!
Doctrine: Get to work with mapping, queries and relationships, by Saša Stamenković & Ryan Weaver
Recorded @ Web Summer Camp 2015
Doctrine talks to databases, and if you can master it, you're dangerous! In this workshop, we'll start from the beginning with Doctrine inside Symfony and quickly learn how to map entities to the database, make simple (and more interesting) queries, and master all the complexities of database relationships.
Setting up developer environment
You can follow the workshop better with the virtual appliance configuration used at the event. Check out the main repo and follow the instructions. In a nutshell, you should be able to create the Vagrant box with:
$ git clone https://github.com/netgen/summercamp-2015.git
$ cd summercamp-2015
$ git submodule init
$ git submodule update
$ vagrant up --no-provision
Then add all domains in the hosts as explained in the README.
To prepare this workshop, you should then:
$ vagrant ssh
(vagrant)$ cd /var/www/summercamp/
(vagrant)$ ./run.sh doctrine
You should have the workshop accessible in your browser at http://doctrine.phpsc/. If you have problems, check the FAQ. If you still have problems, you can fall back to using only workshop repo listed here.