У меня есть функция, называемая parseDate, но когда я вызываю ее на моей php-странице (это страница компонента joomla), я получаю Fatal error: Can not redeclare parsedate () (ранее объявленный в шаблонах / ja_zeolite / assets / functions.php: 2) в шаблоны / ja_zeolite / assets / functions.php в строке 21
строка 2 – это функция parsedate ($ data), а строка 21 -} (конец функции). Функция:
function parseDate($date){ $items = explode('.', $date); switch($items[1]){ case 1: $mese = 'Gen'; break; case 2: $mese = 'Feb'; break; case 3: $mese = 'Mar'; break; case 4: $mese = 'Apr'; break; case 5: $mese = 'Mag'; break; case 6: $mese = 'Giu'; break; case 7: $mese = 'Lug'; break; case 8: $mese = 'Ago'; break; case 9: $mese = 'Set'; break; case 10: $mese = 'Ott'; break; case 11: $mese = 'Nov'; break; case 12: $mese = 'Dic'; break; default: $mese = '---'; } $data_corretta = array(0 => $mese, 1 => $items[2]); return $data_corretta; }
Я также попытался изменить функцию имени, но она по-прежнему не работает.
Зачем?
Вы (или Joomla) скорее всего включите этот файл несколько раз. Включите вашу функцию в условном блоке:
if (!function_exists('parseDate')) { // ... proceed to declare your function }
Удалите функцию и проверьте вывод:
var_dump(function_exists('parseDate'));
В этом случае измените имя функции.
Если вы ошибаетесь, вы включаете файл с этой функцией дважды, замените:
include
от
include_once
И замените:
require
от
require_once
EDIT: Я просто слишком поздно, пост, прежде чем победить меня!