0%

A PHP developer's practical guide to planning, writing, and deploying maintainable and extensible software solutions with automated tests in a well-structured way

Key Features

  • Learn to organize and translate business requirements into maintainable software
  • Minimize regressions and bugs while releasing new features or bug fixes
  • Build maintainable applications using SOLID principles

Book Description

PHP web developers end up building complex enterprise projects without prior experience in test-driven and behavior-driven development which results in software that's complex and difficult to maintain. This step-by-step guide helps you manage the complexities of large-scale web applications. It takes you through the processes of working on a project, starting from understanding business requirements and translating them into actual maintainable software, to automated deployments.

You'll learn how to break down business requirements into workable and actionable lists using Jira. Using those organized lists of business requirements, you'll understand how to implement behavior-driven development (BDD) and test-driven development (TDD) to start writing maintainable PHP code. You'll explore how to use the automated tests to help you stop introducing regressions to an application each time you release code by using continuous integration.

By the end of this book, you'll have learned how to start a PHP project, break down the requirements, build test scenarios and automated tests, and write more testable and maintainable PHP code. By learning these processes, you'll be able to develop more maintainable, and reliable enterprise PHP applications.

What you will learn

  • Understand how to start a software project
  • Discover how to use Jira as a tool to organize your tasks
  • Explore when and how to write unit, integration, and functional tests using PHPUnit
  • Write behavior-driven tests using Behat
  • Apply SOLID principles to help you write more testable code
  • Get the most out of your automated tests by using continuous integration
  • Use continuous delivery to help you prepare your application for deployment

Who this book is for

This book is for PHP software developers looking to implement TDD and BDD in their projects. An understanding of object-oriented programming is required to get the most out of this book. Professional software development experience will also be beneficial to understand real-life business cases.

Table of Contents

  1. Test-Driven Development with PHP 8
  2. Foreword
  3. Contributors
  4. About the author
  5. Preface
  6. Part 1 – Technical Background and Setup
  7. Chapter 1: What Is Test-Driven Development and Why Use It in PHP?
  8. Chapter 2: Understanding and Organizing the Business Requirements of Our Project
  9. Chapter 3: Setting Up Our Development Environment Using Docker Containers
  10. Chapter 4: Using Object-Oriented Programming in PHP
  11. Part 2 – Implementing Test-Driven Development in a PHP Project
  12. Chapter 5: Unit Testing
  13. Chapter 6: Applying Behavior-Driven Development
  14. Chapter 7: Building Solution Code with BDD and TDD
  15. Chapter 8: Using TDD with SOLID Principles
  16. Part 3 – Deployment Automation and Monitoring
  17. Chapter 9: Continuous Integration
  18. Chapter 10: Continuous Delivery
  19. Chapter 11: Monitoring
  20. Index
  21. Other Books You May Enjoy