teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

6

修正

2017/09/26 02:43

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -25,13 +25,11 @@
25
25
 
26
26
  echo DEBUG; // 0
27
27
  ```
28
-
29
- echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力効の場合)
28
+ echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力効の場合)
30
29
  ```
31
30
  Notice: Constant DEBUG already defined in ~~.php on line XX
32
31
  0
33
32
  ```
34
-
35
33
  エラーの出力は有効にされているかを確認した上で、main.php実行に関わるソースに
36
34
  同じ定数を定義していないかも確認してみてください。
37
35
 

5

修正

2017/09/26 02:43

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -12,8 +12,10 @@
12
12
  ただ、上記のようになおしたとしても「0」と出力されることはありません。
13
13
  「1」と出力されます。
14
14
  読み込めていないのであれば未定義エラーとして
15
+ ```
15
16
  Use of undefined constant DEBUG~~
17
+ ```
16
- と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
18
+ エラーが出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
17
19
 
18
20
  追記:
19
21
  既に同名で定数が定義されているとそちらが優先されます。
@@ -23,9 +25,13 @@
23
25
 
24
26
  echo DEBUG; // 0
25
27
  ```
26
- ただechoより先にエラーが出力されます。
27
- ```Notice: Constant DEBUG already defined```(DEBUGという定数は既に定義されています)
28
28
 
29
+ echoは出力されますが、echoより先に下記のようにエラーが出力された上で、echoが出力されます(エラー出力無効の場合)
30
+ ```
31
+ Notice: Constant DEBUG already defined in ~~.php on line XX
32
+ 0
33
+ ```
34
+
29
35
  エラーの出力は有効にされているかを確認した上で、main.php実行に関わるソースに
30
36
  同じ定数を定義していないかも確認してみてください。
31
37
 

4

追記

2017/09/26 02:38

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -16,6 +16,20 @@
16
16
  と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
17
17
 
18
18
  追記:
19
+ 既に同名で定数が定義されているとそちらが優先されます。
20
+ ```php
21
+ define("DEBUG",0);
22
+ define("DEBUG",1);
23
+
24
+ echo DEBUG; // 0
25
+ ```
26
+ ただechoより先にエラーが出力されます。
27
+ ```Notice: Constant DEBUG already defined```(DEBUGという定数は既に定義されています)
28
+
29
+ エラーの出力は有効にされているかを確認した上で、main.php実行に関わるソースに
30
+ 同じ定数を定義していないかも確認してみてください。
31
+
32
+ 余談:
19
33
  define.phpはHTML等何も出力しない定義だけのファイルなので閉じ?>はない方が良いと思います。
20
34
  - [PHPマニュアル:PHPタグ](http://php.net/manual/ja/language.basic-syntax.phptags.php)
21
35
 

3

tui

2017/09/26 02:35

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
File without changes

2

更に追記

2017/09/26 02:32

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -13,4 +13,10 @@
13
13
  「1」と出力されます。
14
14
  読み込めていないのであれば未定義エラーとして
15
15
  Use of undefined constant DEBUG~~
16
- と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
16
+ と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)
17
+
18
+ 追記:
19
+ define.phpはHTML等何も出力しない定義だけのファイルなので閉じ?>はない方が良いと思います。
20
+ - [PHPマニュアル:PHPタグ](http://php.net/manual/ja/language.basic-syntax.phptags.php)
21
+
22
+ > ファイル全体が純粋な PHP コードである場合は、ファイルの最後の終了タグは省略するのがおすすめです。 終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。 余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。

1

追記

2017/09/26 02:25

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -11,4 +11,6 @@
11
11
 
12
12
  ただ、上記のようになおしたとしても「0」と出力されることはありません。
13
13
  「1」と出力されます。
14
+ 読み込めていないのであれば未定義エラーとして
14
- 読み込めていないのであれば未定義エラーとして「Use of undefined constant DEBUG~~」が出力されるはずなので。
15
+ Use of undefined constant DEBUG~~
16
+ と出力されるはずなので。(PHP5.6以下はNotice、PHP7以上はWARNING)