-
PHP 8 is now officially available. As part of this new release, not only will you benefit from performance improvements - thanks to the new JIT compiler - but you'll also enjoy useful new operators and types, attributes, match expressions, and so much more.
-
If you're intrigued, hop in and we'll review everything you need to know.
-
About
Before we can play around, of course we must first download PHP 8. At the time of this writing, PHP 8 is not yet officially out. As such, we'll tap a custom Homebrew formula to make the installation process as painless as possible. Alternatively, you might consider using Docker or Vagrant to create an isolated environment for testing PHP 8.
-
About
First up on the agenda is the new Nullsafe operator. This operator - represented as a question mark - allows you to call a method on the result of any expression if it does not evaluate to null. It sounds confusing, but it really isn't. Let's have a look.
-
About
Switch statements in PHP are useful, yet clunky. Think of the new match expression in PHP 8 as an improved switch. It's far more terse and flexible than its counterpart.
-
About
Next up is constructor property promotion, which allows you to remove much of the tedious class initialization boilerplate code that you likely write for every any that accepts a dependency.
-
About
This next one is a small, but useful addition to PHP 8 that received unanimous support during the voting stage. You now have the ability to use
::class
directly on an object. The result will be functionally identical to the result ofget_class()
. In PHP 7 and below, this functionality was limited to the class, itself.
-
About
Next up, we have named parameters. This new PHP 8 feature allows you to pass function arguments according to, not their order, but the parameter name, itself. Let's discuss the pros and cons of adopting named parameters/arguments in your own projects.
- Pros and Cons
- Pros
- Improve readability
- Cons
- Your code is coupled to the parameter, for example, chaning the name of a parameter lead to change all of the matches
- Pros
- Pros and Cons
-
About
It took a global pandemic for PHP to finally add a
str_contains
helper function, but it's finally here (along with a few others). In this episode, we'll reviewstr_contains()
,str_starts_with()
, andstr_ends_with()
.
-
About
Weak maps are effectively key value stores that allow for garbage collection. You won't reach for these often, but they're nonetheless an important tool to have in your belt.
-
Pros: Support Garbage Collection
-
Use case
- You want to associate an object with a piece of data
-
About
Next up, we'll discuss PHP 8's support for union types, as well as a new catch-all
mixed
pseudo-type. We can now - without resorting to docblocks - specify that a method parameter may accept multiple types.