回答編集履歴

6

修正

2017/09/26 02:43

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -52,9 +52,7 @@
52
52
 
53
53
  ```
54
54
 
55
-
56
-
57
- echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力効の場合)
55
+ echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力効の場合)
58
56
 
59
57
  ```
60
58
 
@@ -63,8 +61,6 @@
63
61
  0
64
62
 
65
63
  ```
66
-
67
-
68
64
 
69
65
  エラーの出力は有効にされているかを確認した上で、main.php実行に関わるソースに
70
66
 

5

修正

2017/09/26 02:43

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -26,9 +26,13 @@
26
26
 
27
27
  読み込めていないのであれば未定義エラーとして
28
28
 
29
+ ```
30
+
29
31
  Use of undefined constant DEBUG~~
30
32
 
33
+ ```
34
+
31
- と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
35
+ エラーが出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
32
36
 
33
37
 
34
38
 
@@ -48,9 +52,17 @@
48
52
 
49
53
  ```
50
54
 
51
- ただechoより先にエラーが出力されます。
52
55
 
56
+
57
+ echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力無効の場合)
58
+
59
+ ```
60
+
53
- ```Notice: Constant DEBUG already defined```(DEBUGという定数は既に定義されています)
61
+ Notice: Constant DEBUG already defined in ~~.php on line XX
62
+
63
+ 0
64
+
65
+ ```
54
66
 
55
67
 
56
68
 

4

追記

2017/09/26 02:38

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -34,6 +34,34 @@
34
34
 
35
35
  追記:
36
36
 
37
+ 既に同名で定数が定義されているとそちらが優先されます。
38
+
39
+ ```php
40
+
41
+ define("DEBUG",0);
42
+
43
+ define("DEBUG",1);
44
+
45
+
46
+
47
+ echo DEBUG; // 0
48
+
49
+ ```
50
+
51
+ ただechoより先にエラーが出力されます。
52
+
53
+ ```Notice: Constant DEBUG already defined```(DEBUGという定数は既に定義されています)
54
+
55
+
56
+
57
+ エラーの出力は有効にされているかを確認した上で、main.php実行に関わるソースに
58
+
59
+ 同じ定数を定義していないかも確認してみてください。
60
+
61
+
62
+
63
+ 余談:
64
+
37
65
  define.phpはHTML等何も出力しない定義だけのファイルなので閉じ?>はない方が良いと思います。
38
66
 
39
67
  - [PHPマニュアル:PHPタグ](http://php.net/manual/ja/language.basic-syntax.phptags.php)

3

tui

2017/09/26 02:35

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
File without changes

2

更に追記

2017/09/26 02:32

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -29,3 +29,15 @@
29
29
  Use of undefined constant DEBUG~~
30
30
 
31
31
  と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
32
+
33
+
34
+
35
+ 追記:
36
+
37
+ define.phpはHTML等何も出力しない定義だけのファイルなので閉じ?>はない方が良いと思います。
38
+
39
+ - [PHPマニュアル:PHPタグ](http://php.net/manual/ja/language.basic-syntax.phptags.php)
40
+
41
+
42
+
43
+ > ファイル全体が純粋な PHP コードである場合は、ファイルの最後の終了タグは省略するのがおすすめです。 終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。

1

追記

2017/09/26 02:25

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -24,4 +24,8 @@
24
24
 
25
25
  「1」と出力されます。
26
26
 
27
+ 読み込めていないのであれば未定義エラーとして
28
+
27
- 読み込めていないのであれば未定義エラーとして「Use of undefined constant DEBUG~~」が出力されるはずなので。
29
+ Use of undefined constant DEBUG~~
30
+
31
+ と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)