Introduction and Site Demo
In this video we are taking a tour of the Symfony 3 tutorial application that we will be building throughout the first part of this series. We're going to use this as our MVP (minimum viable product).
What I am hoping you take away from this series is the foundations of getting started when using Symfony 3 for a personal project. The scope of this application is small enough to go from idea to launch within a few short videos, but wide enough in potential to allow us to explore some of the more advanced ways we can work with, and learn Symfony as our project grows.
To begin with in this series we're going to make use of the following skills and technologies:
- Controllers, routing, and Twig
- Doctrine queries, results, and repositories
- Pagination
- Creating console commands
- Forms, file uploads, and form theming
- EasyAdminBundle
- Event Listeners
- Symfony Services
- Bootstrap 3
What these foundations give us is the basis for more advanced and interesting activities. These will come in the follow on series, but to give you a quick teaser - Redis, RabbitMQ, and Caching to name but a few.
For now we have a bunch of things to cover to take our confidence in using the Symfony 3 framework up the next step.
The expected level of knowledge for this series is to have either completed the "Symfony 3 for Beginners" tutorial or to have an equivalent (or greater) level of experience. This means I won't be covering any of the topics covered in the previous series in as great a depth, but will refer you back to those videos where appropriate.
All of these topics when taken in isolation can be confusing, or even in some cases, slightly boring. When given some context they become much more enjoyable, and hopefully this series inspires you to dig deeper, experiment, and learn even more.
One thing to note - whilst the EasyAdminBundle provides a bunch of features that are both extremely cool and easy to enable / use, we will be making our lives that little bit harder by doing some things in a more manual fashion. This is entirely intentional as whilst EasyAdminBundle makes life ... ahem, incredibly easy for us, there are benefits to understanding how to do some of these things yourself.
With this in mind, when it comes to handling image uploads, we won't be using VichUploaderBundle. Instead, we will do this process by hand, learning a bunch of new skills along the way. Of course, once you understand this process, feel free to bypass this and go with VichUploaderBundle.
Likewise, we will implement our own database populator / fixtures by way of a Symfony Console Command. The reasoning here is not to say that a console command is better than using a dedicated fixtures library - far from it - it is intended to help you understand how to do this yourself, so you understand what tools that automate these processes are doing for you.