Tutorial Day: Tools of the PHP Trade
Writing code is one thing; however this one-day workshop covers everything BUT the code, showing you all the other allied skills you’ll need to work with PHP and the LAMP (Linux, Apache, MySQL, PHP) stack as a whole. You’ll learn how to work with code, how to measure and look after it, and how to move it around and manage changes quickly and safely. The day begins with an introduction to source control using git so that we can grab the joind.in source code from github*. I’ll show you how to configure an Apache virtual host on the supplied Linux virtual machine (it’s Ubuntu, and no previous linux experience is necessary). Our next topic is static analysis, so we can try out some of the tools such as PHPCodeSniffer, PHP Mess Detector and of course PHP Documentor, which you’ll install using PEAR. While we’re on the subject of quality, we’ll use XHProf to check out how well the various pages in this application perform and how to measure any improvements that we make. Finally we’ll investigate how we can use Phing to deploy our applications easily and repeatably to a live platform.
* If anyone makes any fixes or improvements to the codebase, you’ll also see how to make a pull request on git – and then see the change put live.
Questions & Answers
Who’s the target audience for this tutorial?
Any PHP developer who wants to improve their processes and concentrate on the code bit by making the most of the tools available.
How experienced do I need to be?
You do need some PHP experience otherwise you won’t get much from the day, if you’ve built code, documented it or wanted to, used source control or wanted to, and/or put code onto a live server then you are in the right place. If you’re already running a CI server, then you’re probably beyond the level we’ll be covering.
Which version of software / PHP etc will you be covering?
The tutorial has no PHP in it but we’ll be using a PHP 5.3 platform, phpdocumentor 2, the newest packages of xhprof, phing and phpcodesniffer from PEAR, and learning to install all of those.
Do I need to bring a laptop?
Yes, please. If you don’t have one and are desperate to join in, let the conference know and we’ll try to figure something out.
Do I need to install or set-up any specific software prior to the day, in order to get the most out of the day?
Yes please! I’ll be distributing a virtualbox VM on the day, so if you already have virtualbox installed, that would help enormously.
Lorna Mitchell
Lorna is an independent PHP consultant based in Leeds, UK. She leads the joind.in open source project, which provides a platform for real-time, public feedback at community events. She is an experienced conference speaker, and has spoken at technical events across Europe and beyond, predominantly on technical topics such as PHP and APIs, but also on topics around business, projects and open source. She regularly delivers technical training sessions and is also active as a mentor with PHPWomen.org. Author of the book PHP Master from Sitepoint, Lorna loves to write and is regularly published at a number of outlets including netmagazine and of course her own blog lornajane.net.