Phing (recursive acronym for PHing Is Not GNU make) is a PHP project build
system closely modelled on Apache's Ant tool for Java development and implemented in PHP. Phing, like
Ant, uses simple XML build files to determine what to do as part of the build
process. Why would you need a build system? Certain tasks might need to be
performed repeatably during application development (on a large project or a
small one). These might include:
- collect files from different folders and assemble them in one folder, optionally renaming them in the process
- automatically check that the code adheres to a coding standard
- extract code from a repository and run unit tests
- change configuration files from development settings to production/staging settings
- generate project documentation from code
- strip comments from production code to make it lighter-weight
- automatically search and replace words or phrases in files
A build system, such as Phing, can go a long way towards helping you do this with only a few keystrokes. Phing can call tools/packages, and is also easily extended,
using your favourite language - PHP, to handle any reasonably strange requirement you might have.