Я получаю фатальную ошибку PHP:
Неустранимая ошибка: невозможно переопределить функцию getString () (ранее объявленную в пути / src / scripts / php / functions.php: 66) в пути / src / scripts / php / functions.php в строке 111
Эти файлы включены:
require_once
, Включает в себя все функции и прочееrequire_once
поэтому в этом случае он не должен вызывать functions.php второй разЯ обычно знаю, что означает эта ошибка. Но эта функция объявляется только один раз. Кроме того, ошибка возникает только тогда, когда я вызываю ее в другой функции внутри functions.php.
Вот функция:
function getString($key, $lang) {
if (!is_string($key) || !is_string($lang)) {
$fehlercode = "StringNoString";
require_once ("path/src/logs/error.php");
exit;
}
$urkey = $key;
$key = (String) $key;
if (strlen($key) < 5) {
switch (strlen($key)) {
case 4:
$key = "0".$key;
break;
case 3:
$key = "00".$key;
break;
case 2:
$key = "000".$key;
break;
case 1:
$key = "0000".$key;
break;
default:
break;
}
}
global $de_Array, $en_Array;
if ($lang == "en") {
if (array_key_exists($key, $en_Array)) {
return $en_Array[$key];
} else {
$fehlercode = "NoStringOn(".$key."en)";
require_once ("path/src/logs/error.php");
exit;
}
} else {
if (array_key_exists($key, $de_Array)) {
return $de_Array[$key];
} else {
$fehlercode = "NoStringOn(".$key."de)";
require_once ("path/src/logs/error.php");
exit;
}
}
}
Это работает, когда я звоню в index.php как это:
<? echo getString("00004", $prefLang); ?>
Но это не работает, когда я вызываю функцию из другой функции в functions.php как это:
$faqs = '<div class="zweispaltigEZ"><div class="left"><h3>'.getString("00087", $prefLang).'</h3><ol>'.$questions.'</ol></div><div class="right"><h3>'.getString("00088", $prefLang).'</h3>'.$answers.'</div></div>';
return $faqs;
В вызове функции нет ничего плохого getString()
потому что, когда я заменяю его жестко закодированным текстом, это работает.
Я «решил» фатальную ошибку, удалив код, который вызывает error.php и exits
, Однако сейчас GetString () функция по-прежнему не работает должным образом. Вызов его напрямую из index.php (как выше) работает нормально, но вызов его в другой функции не приводит к выводу вообще.
Задача ещё не решена.
Других решений пока нет …