39 lines
939 B
Markdown
39 lines
939 B
Markdown
---
|
|
title: Strict typing in PHP
|
|
date: 2024-05-04
|
|
permalink: archive/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.
|