Предполагаемое повторное объявление функции в переполнении стека

Я получаю фатальную ошибку PHP:

Неустранимая ошибка: невозможно переопределить функцию getString () (ранее объявленную в пути / src / scripts / php / functions.php: 66) в пути / src / scripts / php / functions.php в строке 111

Эти файлы включены:

  1. index.php которая «является» страницей
  2. functions.php который называется index.php с помощью require_once, Включает в себя все функции и прочее
  3. error.php который называется functions.php когда появляется ошибка в данной функции. error.php звонки functions.php, но только через 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 (как выше) работает нормально, но вызов его в другой функции не приводит к выводу вообще.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector