The Week-by-Week Syllabus
This path is structured to gradually build your expertise in PHP by introducing advanced concepts and practices sequentially.
Week 1: Advanced PHP Features
What to learn: In this week, focus on PHP 8 features such as named arguments, attributes, and union types.
Why this comes before the next step: Understanding modern features is crucial for writing clean and maintainable code that leverages the latest capabilities of PHP.
Mini-project/Exercise: Create a simple CRUD application that utilizes attributes and union types for better data handling.
Week 2: Design Patterns
What to learn: Study common design patterns such as Singleton, Factory, and Dependency Injection.
Why this comes before the next step: Grasping design patterns helps you create scalable and maintainable applications that can be modified over time without significant rework.
Mini-project/Exercise: Refactor your CRUD application from Week 1 to implement at least two different design patterns.
Week 3: Testing with PHPUnit
What to learn: Dive deep into writing unit tests for your PHP applications using PHPUnit.
Why this comes before the next step: Testing is essential in maintaining code quality and ensuring that your applications perform as expected, especially during refactoring.
Mini-project/Exercise: Write unit tests for your refactored application, aiming for at least 80% code coverage.
Week 4: Dependency Management with Composer
What to learn: Master dependency management using Composer, including creating custom packages.
Why this comes before the next step: Understanding Composer is vital for managing libraries and ensuring your project remains maintainable as it scales.
Mini-project/Exercise: Convert your CRUD application into a Composer package and document its usage.
Week 5: Building REST APIs
What to learn: Learn how to build REST APIs, focusing on routing, authentication, and best practices.
Why this comes before the next step: APIs are essential for modern web applications, and mastering them allows you to create accessible services.
Mini-project/Exercise: Expand your CRUD application into a RESTful service with token-based authentication.
Week 6: Cloud Deployment
What to learn: Explore deployment strategies for PHP applications on cloud platforms, focusing on AWS and Docker.
Why this comes before the next step: Deployment knowledge is crucial for delivering your applications efficiently and managing them in production environments.
Mini-project/Exercise: Deploy your RESTful API to an AWS EC2 instance using Docker containers.