Slide 1

Slide 1 text

Rapid Prototyping with PHP The world of TDD, BDD and frameworks in PHP-land 1 Friday, 25 January, 13

Slide 2

Slide 2 text

Michael Cheng Senior Software Engineer, mig33 http://twitter.com/coderkungfu http://github.com/miccheng 2 Friday, 25 January, 13

Slide 3

Slide 3 text

Challenges of Rapid Prototyping • Build once and run everywhere • Responsive web apps • Mobile apps • Use same backend - usually a REST service • Something that PHP is particularly good at 3 Friday, 25 January, 13

Slide 4

Slide 4 text

Phases 1. HTML mockups • eg. Backbone JS, Angular JS 2. Stub web services • Return dummy payload. 3. Final working web services 4 Friday, 25 January, 13

Slide 5

Slide 5 text

Doing PHP right • Use a framework • Use Composer libraries for lower level functionalities (don't reinvent the wheel) • Keep it clean. Doesn't need to scale immediately. • Adhere to coding standards - PSR-0, 1, 2 • Practice TDD, BDD (if you can) 5 Friday, 25 January, 13

Slide 6

Slide 6 text

Full-Stack Frameworks • CakePHP (http://www.cakephp.org) • Lithium (http://lithify.me/) • CodeIgniter (http://www.codeigniter.com) • Kohana, FuelPHP • Symfony (http://symfony.com/) • SilverStripe (http://www.silverstripe.org/) 6 Friday, 25 January, 13

Slide 7

Slide 7 text

REST Frameworks • Silex (http://silex.sensiolabs.org/) • Restler (http://luracast.com/products/restler/) • Recess (http://www.recessframework.org/) 7 Friday, 25 January, 13

Slide 8

Slide 8 text

TDD/BDD • PHPUnit (http://phpunit.de) • Behat (http://behat.org/) • PHPSpec http://www.phpspec.net/ 8 Friday, 25 January, 13

Slide 9

Slide 9 text

Composer http://getcomposer.org http://packagist.org General Purpose Libraries, frameworks, etc. 9 Friday, 25 January, 13

Slide 10

Slide 10 text

Common Standards • PHP Framework Interop Group (http://www.php-fig.org/) • PSR-0: Autoloading Standard • PSR-1: Basic Coding Standard • PSR-2: Coding Style Guide • PSR-3: Logger Interface 10 Friday, 25 January, 13

Slide 11

Slide 11 text

Hosting PHP • Its everywhere! • AppFog (http://appfog.com) • Windows Azure (http://windowsazure.com) 11 Friday, 25 January, 13

Slide 12

Slide 12 text

PHP the Right Way • http://www.phptherightway.com/ 12 Friday, 25 January, 13

Slide 13

Slide 13 text

Join Us! • Facebook Group (https://www.facebook.com/groups/ sghypertextpreprocessors/) • Download (http://php.net, http://windows.php.net) 13 Friday, 25 January, 13