Подтвердить что ты не робот

Невозможно переопределить функцию php

У меня есть функция, называемая 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;
}

Я также попытался изменить функцию имени, но он все равно не работает.

Почему?

4b9b3361

Ответ 1

Вы (или Joomla) скорее всего включите этот файл несколько раз. Включите вашу функцию в условном блоке:

if (!function_exists('parseDate')) {
    // ... proceed to declare your function
}

Ответ 2

Удалите функцию и проверьте вывод:

var_dump(function_exists('parseDate'));

В этом случае измените имя функции.

Если вы ошибаетесь, вы включаете файл с этой функцией дважды, замените:

include

по

include_once

И замените:

require

по

require_once

РЕДАКТОР: Я просто слишком поздно, пост, прежде чем избить меня!