processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan Source: http://agilemanifesto.org 4
• Test Driven & Behaviour Driven. • Tests contains the documentation. • Responsive to change. • Not waiting till the end of the dev lifecycle to fix a bug. 5
together on Packagist (https://packagist.org/). • Compose your own composer.json. • Choose a package namespace for your own project. • Reference: https://getcomposer.org/ 9
PHP 5.5.12 Development Server started at Sat May 3 14:34:44 2014! Listening on http://0.0.0.0:8000! Document root is /Users/miccheng/Dropbox/workspace/plain! Press Ctrl-C to quit.! [Sat May 3 14:34:47 2014] 127.0.0.1:50368 [200]: /! [Sat May 3 14:34:47 2014] 127.0.0.1:50370 [404]: / favicon.ico - No such file or directory 13
Vagrant (http://vagrantup.com) • Tool for building complete development environments. • PuPHPet (https://puphpet.com/) • Configuration for a Vagrant VM. 18
The PHP Framework Interop Group (PHP-FIG) (http://www.php-fig.org/) • Clean Code: A Handbook of Agile Software Craftsmanship (http://www.amazon.com/Clean-Code- Handbook-Software-Craftsmanship/dp/0132350882) 21