menu
close_24px

PHP Testing with PestPHP

What you'll learn

  • Design testable PHP code using SOLID principles and implement basic PestPHP tests.
  • Apply Dependency Injection (DI) and Inversion of Control (IoC) to decouple components and enhance testability.
  • Utilize design patterns like Factory, Strategy, Observer, and Repository to create flexible, testable code structures.
  • Implement advanced testability techniques, including value objects, CQRS, and PHP 8 features, to improve code quality and test coverage.
  • Practice Test-Driven Development (TDD)

Description

Take your PHP development skills to the next level with this dynamic, hands-on course that focuses on building testable, robust code using PestPHP. You’ll learn how to design clean, maintainable code by embracing SOLID principles and boosting testability with Dependency Injection (DI) and Inversion of Control (IoC). Discover how to implement essential design patterns like Factory and Strategy, and explore advanced techniques using value objects, CQRS, and PHP 8 features to elevate your code quality. Through practical, real-world exercises, you’ll dive into Test-Driven Development (TDD) and continuous integration, ensuring your code is ready to meet modern standards.

 

Who Should Attend

  • Aspiring to Intermediate PHP Developers: Those who are new or familiar with PHP and want to improve code quality

Prerequisite

  • Familiarity with PHP programming concepts and logic

Agenda

Module 1: Foundations of Testable Code
  • Introduction to testability in PHP
  • SOLID principles for testable code
    • Single Responsibility Principle
    • Open/Closed Principle
    • Liskov Substitution Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle
  • Writing your first testable code and corresponding PestPHP test
Module 2: Dependency Injection and Inversion of Control
  • Understanding Dependency Injection (DI)
  • Implementing DI
  • Inversion of Control (IoC) containers
  • Refactoring code for DI and testing with PestPHP

 

Module 3: Design Patterns for Testability
  • Factory Pattern and its impact on testing
  • Strategy Pattern for flexible, testable code
  • Observer Pattern and event-driven architecture
  • Repository Pattern for data access abstraction
  • Implementing and testing patterns with PestPHP
Module 4: Advanced Testability Techniques
  • Working with value objects for immutability
  • Command Query Responsibility Segregation (CQRS)
  • Using traits and interfaces for better testability
  • Leveraging PHP 8 features for testable code
    • Named arguments in test data providers
    • Union types for more precise method signatures
  • Refactoring a legacy application for testability
Module 5: Test-Driven Development (TDD) and Continuous Integration
  • TDD principles and workflow
  • Reg-Green-Refactor cycle with PestPHP
  • Building testable APIs and testing them
Overview
Instructor : Hizam
Date: 25-26 Nov 2024
Duration : 2 Days
Course level : Beginner - Intermediate
Language : English
Mode: Classroom
Price: RM 2300
IMG_6888 (1)-2
SoftwareQ Company Page Admin  LinkedIn

Our Instructor

Hizam is a seasoned PHP developer with over 20 years of experience designing, developing, and optimizing web applications. His extensive expertise includes working with PHP frameworks like Laravel, Symfony, and CodeIgniter, and he has a strong command over front-end technologies such as Javascript and Typescript. He has a track record of delivering applications, integrating APIs, and optimizing database performance. Hizam's deep understanding of web development best practices and passion for continuous learning and problem-solving have consistently driven successful project outcomes and client satisfaction.

Learning Laravel Classroom
Rapid Laravel Learning
  • Hizam
  • Oct 21,2024
  • 4 Days
Laravel Livvewire Classroom
Laravel Livewire Necessities
  • Hizam
  • Oct 8,2024
  • 2 Days
PHP for Modern Framework Classroom
PHP for Modern Framework
  • Hizam
  • Oct 15,2024
  • 3 Days
Laravel App and Filament Classroom
Developing Laravel App with Filament
  • Hizam
  • Oct 28,2024
  • 2 Days
Frequently Asked Questions (FAQs)
Who should attend our courses?

Our courses are suitable for anyone looking to enhance their development skills, including beginners, intermediate learners, experienced developers, and those in leadership roles overseeing development projects. You will find the courses that suits your need with us. Else, you could contact us for customize training.

Is this course HRDC claimable?

Yes, the course is 100% HRDC claimable for HRD Corp registered employers.

Can I enroll without HRDC levy?

Yes. For non-HRDC participants, you can enroll to the course by clicking the 'Add to cart' button. You'll receive confirmation email after successful payment.

What are the steps for enrolling with HRDC levy?

For participants who are purchasing with HRDC levy:
1. You could just click on the 'Enroll Now (HRD Levy)' button.
2. After submitting, you will receive registration form in your mailbox.
3. Kindly fill up the form (or you could pass it to your HR/Talent team to assist), and return the form to us.
4. For grant application and the updates you may refer to HRDC Guidelines for more information. 

What is the course structure?

Our courses integrate lectures, live coding sessions, and practical exercises to foster an immersive learning environment. This structure emphasizes practical application over theoretical concepts, ensuring you gain valuable skills. You'll leave with both knowledge and hands-on experience!

Who can I reach out to for assistance?

For any questions or assistance, please contact our team. We’re here to help!