AGILE DEVELOPER • Software Craftsmen. • Individuals and interactions over 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
AGILE DEVELOPER • Communicative and collaborative. • Discussions around stories. • 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
WRITING TOOLS • Use an IDE • VIM (https://code.google.com/p/macvim/) • PHPStorm (http://www.jetbrains.com/phpstorm) • Netbeans for PHP (https://netbeans.org/features/php/) • Atom (https://atom.io) 7
COMPOSER • Pick and choose libraries you want to put together on Packagist (https://packagist.org/). • Compose your own composer.json. • Choose a package namespace for your own project. • Reference: https://getcomposer.org/ 13
PHP BUILD IN WEB SERVER $ php -S 0.0.0.0:8000 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 17
PRODUCTIVITY TOOLS • Use a Virtual Environment for development: • Vagrant (http://vagrantup.com) • Tool for building complete development environments. • PuPHPet (https://puphpet.com/) • Configuration for a Vagrant VM. 18
MORE READINGS… • PHP The Right Way (http://www.phptherightway.com/) • 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) 25