Book description
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
- Test-Driven Development with PHP 8
- Foreword
- Contributors
- About the author
- Preface
- Part 1 – Technical Background and Setup
- Chapter 1: What Is Test-Driven Development and Why Use It in PHP?
- Chapter 2: Understanding and Organizing the Business Requirements of Our Project
- Chapter 3: Setting Up Our Development Environment Using Docker Containers
- Chapter 4: Using Object-Oriented Programming in PHP
- Part 2 – Implementing Test-Driven Development in a PHP Project
- Chapter 5: Unit Testing
- Chapter 6: Applying Behavior-Driven Development
- Chapter 7: Building Solution Code with BDD and TDD
- Chapter 8: Using TDD with SOLID Principles
- Part 3 – Deployment Automation and Monitoring
- Chapter 9: Continuous Integration
- Chapter 10: Continuous Delivery
- Chapter 11: Monitoring
- Index
- Other Books You May Enjoy
Product information
- Title: Test-Driven Development with PHP 8
- Author(s):
- Release date: January 2023
- Publisher(s): Packt Publishing
- ISBN: 9781803230757
You might also like
book
Clean Code in PHP
Practical lessons, examples, and practices from PHP experts on how to take your PHP skills to …
book
PHP 8 for Absolute Beginners: Basic Website and Web Application Development
Embark on a practical journey of building dynamic sites aided by multiple projects that can be …
book
Domain-Driven Design in PHP
Real examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration About …
book
Test-Driven Development with Java
Drive development with automated tests and gain the confidence you need to write high-quality software Key …