I hope that in reading this chapter you have gained a new perspective on how to deploy an application. Although deployment is often the last step in the development process, you need to start planning for it right from the start. Organizing your site's files in such a way that it lends itself to an automated deployment process is half the battle.
We started out by discussing application deployment and trying to come up with some guidelines for measuring success. The process we developed managed to fulfill both goals we had set ourselves. It is completely automated so as to minimize human errors and the time during which users of the application are negatively affected.
Along the way of automating the deployment process, we learned about Phing and how it can be used to automate all kinds of tasks. Although we used it to deploy a site, Phing can really do a whole lot more. You can create targets to perform all kinds of maintenance on your code or site. For example, you have Phing synchronize...