About the Book
Having worked with many PHP Frameworks in the past, I feel that Symfony is one of the more mature and beautiful Web Framework today. Even many popular frameworks like Laravel and Drupal use Symfony components. I used Symfony in many big projects and have never looked back. If you are looking to learn a new PHP Framework, look no further because Symfony forces you to do the right things and gives you a solid foundation to further develop your Object Oriented skills.
The official documentation at Symfony website is fantastic but building something by simply reading the documentation is not enough. How do you even start?
This book aims to lower the learning curve by providing a step by step hand holding approach to build SongBird - a simple CMS. Hopefully after following all the chapters, your eyes will be opened to RAD and the unlimited possibilities with Symfony.
Chapter 1: Survival Skills
A quick introduction to the skills required to learn Symfony.
Chapter 2: What is SongBird
Introduction to what Songbird is and isn't.
Chapter 3: Creating the Dev Environment
Installing Songbird using docker. Docker is fantastic but its a shame that mac users need a work around at the time of writing.
Chapter 4: The Testing Framework Part 1 (Optional)
Introduces and Installing Codeception for Behavioural Testing.
Chapter 5: The Testing Framework Part 2 (Optional)
Writing a sample BDD acceptance test.
Chapter 6: The User Management System Part 1
Introduces and Installing FOSUserBundle for User Management.
Chapter 7: The User Management System Part 2
Generating user CRUD using the command line and a bit of doctrine appetizer.
Chapter 8: Doctrine Fixtures and Migrations
Installing and running Doctrine Fixtures and Migrations. It is important to have a consistent way of creating test data and migrating schemas.
Chapter 9: The Admin Panel Part 1
Installing EasyAdminBundle and integrating it with FOSUserBundle.
Chapter 10: BDD With Codeception (Optional)
Writing BDD acceptance tests for user management business rules.
Chapter 11: Customising the Login Process
Customising Twig templates for the login and request password pages.
Chapter 12: The Admin Panel Part 2
Tweaking EasyAdmin UI.
Chapter 13: Internalisation
Getting Songbird to support french as well.
Chapter 14: Uploading Files
Installing VichUploaderBundle and integrating it with EasyAdminBundle.
Chapter 15: Logging User Activities
Creating a simple bundle to log user activities.
Chapter 16: Improving Performance and Troubleshooting
Installing blackfire and improving Symfony performance. Introduces Gulp to manage all frontend assets.
Chapter 17: The Page Manager Part 1
Creating a custom bundle called NestablePageBundle to manage pages. Introduces PHPUnit to write functional tests.
Chapter 18: Making Your Bundle Reusable
Refactoring NestablePageBundle and making it as a separate installable component.
Chapter 19: The Page Manager Part 2
Installing CKEditor to the CMS and creating a custom locale selector.
Chapter 20: The Front View
Creating the frontend controller and view.
Chapter 21: Dependency Injection Revisited
Using Compiler Pass to add user roles to EasyAdminBundle.
Congratulations. It's time to start build something yourself using Symfony.
About the Author
I am a thinker, innovator, web developer and open source enthusiast. As a motivated software developer for more than 10 years, I am always looking to implement new and innovative ideas. I love experimenting, talking to people and keeping busy. During my free time, I blog, spend time with my family and think about the universe.