回答編集履歴
1
answer
CHANGED
@@ -3,26 +3,22 @@
|
|
3
3
|
宣言されていない変数を使用しようとすると、E_NOTICEを投じてくれます。
|
4
4
|
またE_STRICTエラーはそれらの通知や、どうやってコードを最適化するかのヒントも与えてくれますよ。
|
5
5
|
|
6
|
-
```lang-<ここに言語を入力>
|
7
6
|
error_reporting(E_STRICT);
|
8
|
-
```
|
9
7
|
|
10
|
-
もしあなたが宣言されていない変数に遭遇したとき、通知を出力するのではなくスクリプトを終了させたいのだとします。
|
8
|
+
もしあなたが宣言されていない変数に遭遇したとき、通知を出力するのではなくスクリプトを終了させたいのだとします。そんな場合はカスタムエラーハンドラーを構築することができますよ。
|
11
|
-
そんな場合はカスタムエラーハンドラーを構築することができますよ。
|
12
9
|
|
13
10
|
ただ「定義されていない変数」との通知を扱う例は、デフォルトのPHPエラーハンドラーに他のすべてを送ります。
|
14
11
|
|
15
|
-
```lang-<ここに言語を入力>
|
16
12
|
<?php
|
17
13
|
|
18
14
|
error_reporting(E_STRICT);
|
19
15
|
|
20
16
|
function myErrorHandler($errno, $errstr, $errfile, $errline) {
|
21
|
-
|
17
|
+
if (!(error_reporting() & $errno)) {
|
22
|
-
|
18
|
+
echo "カスタムエラーです。";
|
23
|
-
|
19
|
+
// error_reporting 設定に含まれていないエラーコードです
|
24
|
-
|
20
|
+
}
|
25
|
-
|
21
|
+
return;
|
26
22
|
}
|
27
23
|
|
28
24
|
$old_error_handler = set_error_handler("myErrorHandler");
|
@@ -31,5 +27,4 @@
|
|
31
27
|
|
32
28
|
xxxx(); // スタンダードPHPエラーを投げる
|
33
29
|
|
34
|
-
?>
|
30
|
+
?>
|
35
|
-
```
|