--- title: Strict typing in PHP date: 2024-05-04 permalink: daily/2024/05/04/strict-typing-in-php tags: - software-development - php cta: ~ snippet: | Do you enable strict types in your PHP code? --- 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: ```php 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: ```php 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.