What this book covers

Chapter 1: Getting Started with Symfony gives an overview of the MVC framework and covers the key features of Symfony framework, such as plugins, generators, internationalization, forms, and validation that help to save time on development of an application.

Chapter 2: Developing our Application shows how to start developing an application with less effort by using the Command Line Interface (CLI). In this chapter, you will learn the basic activities, such as creating the folder structure and database schema, configuring the ORM layer, and generating models, forms, and filters. Finally, we will see how to build the database and handle the routing. We also learn to add styling to the pages and cover some common installation problems.

Chapter 3: Adding the Business Logic and Complex Application Logic shows how we can add business and application logic to make the prototype (created in Chapter 2) to interact with the database. In this chapter, become familiar with the flow of the MVC pattern in Symfony. You will see how a request is handled and passed to the the application logic, which in turn will retrieve data using models before passing the results to the view. This chapter also illustrates how to add plugins with an example of adding the DbFinderPlugin plugin to the application.

Chapter 4: User interaction and email automation introduces the Symfony subframework that handles forms. Here we will see how Symfony can generate nice looking forms for us, before creating our own formatting class. We then progress to create a fully customized form. We will also learn about how Symfony can be expanded to use the other third-party libraries, and how can we convert a module into a fully working plugin that can be packaged up and reused in other projects.

Chapter 5: Generating the Admin Area explains how we can build a backend admin area application without having to code much. In this chapter, we will initialize the Propel admin generator and customize it. Then we will see how to handle Foreign Keys using the admin generator. We will customize the layout and then secure the application by setting permissions for the user, and look at how we can handle credentials from the template.

Chapter 6: Advanced Forms and JavaScript contains examples on how to add JavaScript into Symfony, how to use more advanced widgets in forms, and how to handle M-N database relations. Finally we look at how to add AJAX support into your application.

Chapter 7: Internationalizing our Global Positions introduces internationalization and localization to parts of our application. In this chapter you will learn how to automatically set user language and how to allow the user to change their language. You will learn to create the XLIFF dictionary files using the Symfony tasks, which will help in internationalization and localization of the application. We will also see how to create the database to accommodate a multilingual site, and how Symfony handles the data retrieval for us.

In Chapter 8: Extending Symfony, you will learn to integrate components from other frameworks, such as eZ Components and the Zend Framework.

Chapter 9: Optimizing for Performance is all about optimizing our site by introducing compression and caching. We will start by looking at and using Symfony's caching framework. To take things a little further we then introduce a caching server. We will also look at several other useful tools that aid in speeding up web applications.

Chapter 10: Final Tweaks and Deploymentintroduces some of the ways to deploy web applications. Here we take a look at a better way to transfer applications than using FTP. We will also learn to customize the default error 404 and error 500 Symfony pages to match our site.