The Grumpy Programmer's Guide To Building Testable PHP Applications
The Grumpy Programmer's Guide To Building Testable PHP Applications


This book is no longer available for sale.

The Grumpy Programmer's Guide To Building Testable PHP Applications

Last updated on 2013-02-08

About the Book

You want to test your code but you don't know how

You've done the research and picked a testing framework that you're going to use to start wrapping your PHP code in automated tests. Test-centric coding practices will never be easier than they are today, and you are eager to get going.

There's only one problem: what does testable code look like?

You want to know what testable code looks like

The best applications are ones that consist of small, loosely-coupled modules that can be combined to solve problems. This book will show you how to create them by forcing you to focus on writing testable code from the beginning, not bolting it on afterwards.

Do you know how to use the unit tester's weapons of choice?

To test your code properly, you need to manage your dependencies. Learn how to use dependency injection and the Inversion of Control design pattern to create code that is ready to be tested.

Learn how to create testable code from a grumpy programmer

"The Grumpy Programmer's Guide To Building Testable PHP Applications" gives you a solid introduction to the concepts a PHP programmer needs to master in order to write code that can easily be tested using today's powerful automated testing tools.

Hi, I'm Chris Hartjes. I've been building PHP applications of all shapes and sizes since 1998. Like you, I wanted to find a way to go home from work on time and deliver applications with the fewest bugs possible.

I wrote this book to share my knowledge about the fundamentals of writing testable PHP code with you and turn writing tests for your code into a regular part of your workflow instead of something you do at the last minute.

I've also included several essays from my long-running blog "@TheKeyboard" that give you insights into concepts and practices that go hand-in-hand with writing testable code.

Learning to write testable doesn't have to suck. Let me show you how to get your PHP code into a testable state.

Want a paper copy of the book? Buy a copy through

Do you help organize a PHP user group or conference? Send me an email and I will arrange to get you a copy of the ebook to give away for free.

  • Share this book

About the Author

Chris Hartjes
Chris Hartjes

Chris Hartjes has been building and testing web applications of all shapes and sizes since 1998, with a focus on best practices and how to use testing as an effective development tool.

By day he works for Mozilla testing services that the Firefox web browser talks to while by night he works on building his online info-product empire through

He lives in the snowy wilds of Lucan, Ontario, Canada,

About the Contributors

Christopher Pitt
Christopher Pitt

I am a developer and writer, working at Over.

Table of Contents

  • 1. Copyright
  • 2. Thanks
  • 3. Testing Is Good, Testable Applications Are Better
  • 4. Building Testable Applications is Hard
  • 5. Environmental Consistency
  • 6. Static Code Analysis
  • 7. Decoupling Your Objects Using Dependency Injection
  • 8. Like An Onion, Your Application Has Layers
  • 9. Shells and Sandboxes
  • 10. Rebuilding Your Programming and Deployment Environments
  • 11. Continuous Integration Landscape For PHP Developers
  • 12. Infrastructure Debt
  • 13. Fear is the mind-killer
  • 14. Where Are The Tests?
  • 15. Metatesting: Understanding Mock Objects
  • 16. Advice From a Grumpy Programmer

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub