Chris Holland

Real-World TDD Application Development with Symfony & its Friends

Bootstrapping Symfony w/ REST, OAuth, User Management, Unit & Acceptance Tests.

We'll review how I setup Doctrine with PHPUnit in Symfony, to enable a highly-productive TDD workflow for a "Ride-Hailing Application" Web Service "Kata".

We'll examine:

* Bootstrapping Doctrine against SQLite when in PHPUnit, to test-drive Repository classes with true data operations while retaining blazing-fast speed.
* Test-Driving Doctrine Entity classes as part of this process, while not creating a DB schema on our local MySQL instance.
* Letting Doctrine generate all MySQL migrations to bring the DB schema in-sync with our Entities.

We'll also look at:

* API/REST support via FOSRestBundle
* OAuth support via FOSOAuthServerBundle
* User Management via FOSUserBundle

I'll show configuration optimizations to remove overhead on Unit Tests when introducing these frameworks.

Finally, we'll look at leveraging Codeception to test-drive the creation of Symfony Controller classes, with end-to-end tests going over HTTP thru Symfony's web server, hitting our local MySQL.

Chris Holland

Director, Engineering, TriNet

Chris Holland leads a small Software Engineering Team at an HR company. Throughout a career spanning more than 20 years, Chris has held Sr. Engineering and Leadership roles for small and large successful publicly-traded companies such as EarthLink and Internet Brands, serving business models across Content, Commerce, Travel & Finance on a wide variety of technology stacks including PHP/LAMP, Java/J2EE and C#/.Net, catering to audiences over 100 million monthly visitors.

Chris's full speaker profile