コンテンツ
Notice: Constant (定数名) already definedとは
PHPを使用している「Notice: Constant (定数名) already defined」というエラーがたまにおきます。こちらは定数に関するエラーで、このエラーが検出されるとPHPの実行が停止してしまいます。
スポンサーリンク
Notice: Constant (定数名) already definedの原因
「Notice: Constant (定数名) already defined」の出力原因は定義済みの定数を再度定義しようとした場合に出力されます。
定数を再度定義することは辞めましょう✖
下記にエラーが出るコードを記載いたします。
<?php
define('apple' , '赤い奴');
define('apple' , 'リンゴ');
echo apple;
「apple」は「赤い奴」として定義しているのに、再度「リンゴ」として定義しようとしているのでエラーが起きます。
色々な箇所で定義を定義していると知らない間に2重定義をしてしまいますので、定数を定義するファイルはできるだけ一つにまとめましょう。
Notice: Constant (定数名) already definedの対処法
defined()に定数がセットされているか調べることができる関数を紹介します。
<?php
if (!defined('apple')){
define('apple' , 'リンゴ');
}
echo apple;
このようにもし「apple」が既に定義されていたら、「true」、定義されていない場合は「false」を返します。
定義されていない場合だけ、値をセットするようにすれば解決です。
Notice: Constant already definedのまとめ
同じ名前の定数を2回以上定義してしまうのは、忘れているということです。
定数を宣言する際は、定数宣言用のソースファイルを作成し、そちらにまとめてみてはいかがでしょうか。
スポンサーリンク