Starting completely from scratch, build a modern PHP framework with all the features you’d expect. Whether you’re new to PHP or not, this is a great exercise for learning what happens under the hood, arming you with knowledge you can apply anywhere you use PHP. We’ll cover routing, controllers, views, the container, accessing the database, models, authentication, config, CSRF protection, exception handling, pagination, validation, flashing messages and much more. Let’s dive in and build a PHP framework, step-by-step!
Enums represent a typed set of possible values in PHP. For example, if you're storing a Book that can have a status of __want to read__, __reading__ or __read__, an Enum will hold these values in one place that you can reference anywhere. Prior to PHP 8.1 (when Enums were added), you'd have to work with a simple class with constants. While that works fine, it doesn't provide much power under the hood. In this course, we'll look at the power of Enums and how they can drastically simplify your code.
PHP 8 boasts some great additions. Here's a practical look at the changes most likely to affect your day-to-day development.
Here’s a look at the additions and changes in PHP 7.4 that are most likely to improve or affect your day-to-day development.
Arrow functions (also known as short closures) have been available since PHP 7.4. This course covers everything you need to know about them, while considering if they’re always the best solution to reach for.
When you need to pull values from arrays, destructuring often makes sense. In this course, we'll dive into everything you need to know about destructuring arrays in PHP.
A validator featuring rule objects, string rule mapping, wildcard validation and more. All built completely from scratch with zero dependencies.
A practical dive into every PHP magic method. You might never use them all, but they're well worth knowing, just in case.
Let's build PHP pagination from scratch, creating an algorithm to build page links, and a formatter to transform links into an HTML view.