Creating a plugin
Symfony has many wonderful and time-saving features. But the two I am very fond of are the Symfony's plugin architecture and the currently increasing plugin repository.
It is always a good idea to create loosely coupled classes that can be integrated into other applications. In Symfony, not only should you follow this concept when coding, but also think of coding a module that you can use in another application. If you can manage this, then refactoring your module to a plugin will eventually save you many hours.
The signup module that we have created is fairly simple and straight forward, and is something which many sites do use. By refactoring our module and producing a plugin, you can install this plugin on any of your applications without having to rewrite any code.
Before we start, I think it's important that we have a look at the naming conventions. All the plugins available on the Symfony wiki follow the naming convention of sfPluginNamePlugin. Following this structure...