As you may have heard, I'm working on a book for Symfony2 developers. Besides The Book, which is the user documentation for building Symfony applications, some book-like websites and just a few e-books, there are currently no books for intermediate or advanced Symfony developers. My new book, called A Year With Symfony is exactly that.
If you have been reading the documentation and maybe some blog posts, you will want to know how you can get one step further. You wonder how you could structure your application, for it to be maintainable for more than a month. You ask yourself what it would take to write good bundles, which guidelines you and your team should define and follow. You may also question the built-in security measurements and you or your manager would like to know what needs to built on top of them to make a real secure application. A Year With Symfony will help you find an answer to all these questions.
You will find more information about the book below and on the page for this book hosted by Leanpub: https://leanpub.com/a-year-with-symfony.
I will present the first edition of the book at the Dutch Symfony Usergroup meetup on September 4th. From then on it will be for sale, via Leanpub (downloadable in EPUB, MOBI and PDF format) for 25 dollars.
If you sign up with your email address on the Leanpub page, I will send you a coupon code, which will give you a discount of 10 dollars. This means you only pay 15 dollars.
Contents of the book
The book starts with an in-depth introduction to all the steps that the Symfony kernel takes when it tries to convert an HTTP request to an appropriate response. This part will cover any events and event listeners involved in this process. I will show you how you can hook into the low-level process, and override the outcome of any intermediate step.
Then the focus shifts to the thing that makes Symfony projects so particularly advanced: the dependency injection container. In the part called Patterns of Dependency Injection I will show you many ways in which you can modify service definitions, tags and arguments to hook the entire graph of services together in the way you want it to be, using container extensions, bundle configuration and compiler passes.
After showing you how things work, and how you can modify existing application flows, the next part of the book will be about project structure - showing you how to lay out the elements of your application: starting from a controller, working towards deeper service layers, demonstrating and defending the use of form handlers, domain managers and event listeners.
Next up is a part about security: Symfony has lots of security measures in place and enabled by default. However, the security of your application and your data is something you should always be very much concerned with. At the moment you doze off while leaning on the framework, you need to have someone to wake you up, in order to prevent bad things from happening. This part of the book will be your wake-up call!
The final part of the book is called Being a Symfony developer. In it I discuss what it takes to be a good Symfony developer. Unsurprisingly: it will take a lot of knowledge about the inner workings of the Symfony components, bridges and bundles. More surprisingly: with all this knowledge, you should then strive for the lowest coupling of your code to framework-specific concepts and classes. This will result in the highest reusability. Whether you will open-source your code or not: it will be better off anyway. In the end, being a Symfony developer means: being a developer, who knows how to integrate his PHP libraries with a Symfony application.