- First and foremost – phing (without which I’d have lost all sanity years ago).
- Secondly, the slides themselves.
Some tasks phing can do:
- SimpleTest and PHPUnit support.
- Hook into phpcodesniffer for checking adherence to Coding Standards, and detecting other things too.
- Copy & Paste detection and mess detection of your PHP code.
- File transfer via rsync, ftp and scp.
- dbdeploy and pdosqlexec tasks.
- inifiletask for manipulating .ini files.
- git and subversion (svn) support.
- The simple exec task and the Ant exec equivalent.
- PHPDoc2 support for generating documentation based on docblocks in your code.
- Symfony Console support.
- The rST task expands rST files to other formats.
- IonCubeEncoder and ZendGuard support.
- WikiPublish content to mediawiki wikis.
There’s a whole lot more listed in the documentation!
Some projects that use phing:
- joind.in (social feedback site connecting speakers and events)
- OpenDAM (Digital Asset Management)
- Semantic Scuttle (Social Bookmarking)
- Reload’s phing drupal template
Editors supporting phing:
Getting it working with Continuous Integration servers:
Various levels of integrating PHP into your phing build.xml:
Refactoring your phing file:
- Importing one build.xml into another.
- Using .ini files for storing your settings, using the property task’s file attribute.
- Some refactoring techniques for build.xml files.
I’ve plagiarised nothing, I’ve stood on the shoulders of giants (acknowledgements to):
- Michiel Rook, the current lead developer for the phing project.
- Christian Weiske for the rST task and SemanticScuttle.
- Lorna Jane Mitchell for detailing phing and Travis goodness.
- Rob Allen for his command line completion goodness and other hints.
- Raphael Stott for phing refactoring goodness.