【PHP】厳密な型チェックを有効にする

目次

strict_typesを有効化する

PHPではデフォルトの状態だと、型宣言を関数で行っていても、関数を使用するときには、期待しないデータ型を渡すことができてしまいます。

以下のコードは、暗黙的にstring型がint型に変換されてしまう。

1
2
3
4
5
function test(int value){
// 処理
}

test("1234");

このような、暗黙的な型変換を防ぐには、declare命令を使用します。

先ほどのコードを以下のように書き換えると、実行時エラーになります。

1
2
3
4
5
6
7
declare(strict_type=1);

function test(int value){
// 処理
}

test("1234");

注意

  • declare命令はコードの冒頭に書く必要があります。プログラムの途中に書くと、エラーになります。
  • declare命令は1ファイルごとに書く必要があります。
Author

Daiki Iijima

Posted on

2021-06-02

Updated on

2024-04-17

Licensed under