The Definitive Guide to symfony

  • 7h 41m
  • Fabien Potencier, François Zaninotto
  • Apress
  • 2007

Developing a new web application should not mean reinventing the wheel. Thats why a framework is an essential item in your development toolbox. It helps you respect coding standards; write bulletproof, maintainable code; and focus on business rules rather than waste time on repetitive tasks. This book introduces you to symfony, the leading framework for PHP developers, showing you how to wield its many features to develop web applications faster and more efficiently, even if you only know a bit of PHP.

In The Definitive Guide to symfony, you will learn about the Model-View-Controller architecture and the crucial role it plays in making frameworks like symfony possible. The book also covers framework installation and configuration, and shows you how to build pages, deal with templates, manage requests and sessions, and communicate with databases and servers. You will see how symfony can make your life easier by effectively managing form data, enhancing the user experience with Ajax, internationalizing applications for a global audience, and using smart URLs. Authors François Zaninotto and Fabien Potencier put a strong emphasis on the tools that symfony provides for professional environments, showing you how to take advantage of unit tests, scaffolding, plug-ins, the command line, and extensible configuration. And since frameworks often raise performance-related debate, this book will give you many tips and techniques for monitoring and improving your applications performance, from caching to expert configuration tweaks.

Always keen to offer practical instruction, the authors include a lot of code examples, expert tips, best practices, and illustrations throughout this book, with the goal of providing a resource that satisfies the educational needs of symfonys rapidly growing user community.

About the Authors

François Zaninotto is a consultant and project manager for Internet application projects. He graduated from the French business school Ecole des Mines in 1997 with a specialization in computer science. He tried quite a few jobs before settling on the Internet business: social worker in a children's facility, manager of a bike rental shop, web project manager for a tire manufacturer, writer of a travel guide on Germany for the same tire manufacturer, logistician for Médecins Sans Frontières, and IT architect for a consumer credit company. He joined the Sensio web agency in 2003, and since then has managed many Internet and intranet web application projects, dealing with complex usability issues, agile development methodologies, and cutting-edge web techniques. When the symfony project started, he took responsibility for the documentation, and wrote the symfony online book and tutorials.

Fabien Potencier is a serial entrepreneur. Since he was ten, he always dreamed of creating and running companies. He started his career with an engineering degree from the French business school Ecole des Mines and an MBA in entrepreneurship from HEC Paris. In 1998, right after graduation, Fabien founded his very first company with a fellow student. The company was a web agency focused on simplicity and open source technologies, and was called Sensio. His acute technical knowledge and his endless curiosity won him the confidence of many French big corporate companies. While Sensio kept growing (at the time of writing, it has more than 30 employees), Fabien started other businesses: an indoor go-kart circuit in Lille (France), an auto spare parts e-commerce shop, and an autopilot training business riding on the most famous French racetracks. Fabien is the main developer of the symfony framework and is responsible for 95% of its code. Today, Fabien spends most of his time as Sensio's CEO and as the symfony project leader.

In this Book

  • Introducing Symfony
  • Exploring Symfony's Code
  • Running Symfony
  • The Basics of Page Creation
  • Configuring Symfony
  • Inside the Controller Layer
  • Inside the View Layer
  • Inside the Model Layer
  • Links and the Routing System
  • Forms
  • Ajax Integration
  • Caching
  • I18N and L10N
  • Generators
  • Unit and Functional Testing
  • Application Management Tools
  • Extending Symfony
  • Performance
  • Mastering Symfony's Configuration Files