Learn the processes and techniques to develop large-scale applications using PHP by following an easy-to-understand example project
Key Features
- Learn to organize and translate business requirements into maintainable software
- Minimize regressions and new bugs when releasing new features or bug fixes
- Build maintainable applications using the SOLID principles defined by Bob Martin
Book Description
If you want to learn how to use PHP to build maintainable, reliable, large applications, this book will guide you through the processes of working on a project starting from understanding business requirements, to translating them into actual maintainable software.
In this book, you will learn how to break down business requirements into workable and actionable lists using Jira. Using those organized lists, you will learn how to utilize Behavior-Driven Development and Test-Driven Development to start writing maintainable PHP code. You will learn 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 from this book, you can take these lessons to develop more maintainable, and reliable enterprise PHP applications.
What you will learn
- Learn where and how to start a software project
- Learn how to use Jira as a tool to organize what needs to be done
- Learn when and how to write Unit, Integration, and Functional tests Using PHPUnit
- Write behavior-driven tests using Behat
- Apply SOLID principles to help write more testable code
- Learn how to 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 professionals and software developers looking to implement TDD and BDD in their projects. Professional software development experience is very beneficial to understand real-life business cases, and an understanding of Object-Oriented Programming is required
Table of Contents
- What is Test-Driven Development and Why use it in PHP?
- Understanding and Organizing the Business Requirements of Our Project
- Setting Up Our Development Environment Using Docker Containers
- Using Object-oriented PHP with Test-Driven Development
- Unit Testing
- Applying Behaviour-Driven Development and Test-Driven Development
- Writing Extensible, Testable application codes
- Using TDD with SOLID Principles
- Setting up Continuous Integration in the cloud
- Deploying the solution
- Monitoring