Strict typing in PHP

I prefer writing and working with strictly typed code.

One of the major improvements in PHP has been the option to enable strict types.

For example, this code will usually not error and give the result:

function add(int $a, int $b): void
{
    var_dump($a + $b);
}

add(1, '1');

However, I'd prefer if it failed as I'm passing the function an integer and a string, but specifying they should both be integers.

Fixing this is simple, by adding this line to the top of the file:

declare(strict_types=1);

I add this to every PHP file by default.

I want my code to be as strict and predictable as possible, and to error when I want it to and make any bugs more explicit and easier to find and fix.

- Oliver

P.S. Are you still using Drupal 7 and don’t know what’s involved to upgrade to Drupal 10? Book a Drupal 7 upgrade consultation call or an upgrade roadmap.

Was this interesting?

Sign up here and get more like this delivered straight to your inbox every day.

About me

Picture of Oliver

I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.