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

The Grumpy Programmer's Guide To Building Testable PHP Applications

The Grumpy Programmer's Guide To Building Testable PHP Applications

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


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.

Read more

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

Read More

About the Author

About the Contributors


Christopher Pitt

I am a developer and writer, working at SilverStripe.

Read more

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up.
See full terms