«Неустранимая ошибка: невозможно повторно объявить класс» ... но класс не был объявлен - PullRequest
4 голосов
/ 29 декабря 2011

(я использую Joomla v1.5.15 и PHP 5.3.4)

Я протестировал решения, найденные на этом и других форумах разработчиков, но у меня все еще остается та же ошибка.

Требующий файл => contratolocal.php

...
if ( !class_exists('MTIHelperEstadosLocal') )
    JLoader::import('helpers.estados.estadoslocal', JPATH_COMPONENT, false);

class MTIControllerContratoLocal extends MTIController
{
...

Обязательный файл => estadoslocal.php

...
class MTIHelperEstadosLocal extends MTIHelperEstados
{
...

«JLoader :: import» обычно используется в Joomla для импорта файлов в реальный скрипт. Во всяком случае, я попытался php-методы "include / require_once" также безуспешно

Я получал ту же ошибку с каждым пробным решением:

«Неустранимая ошибка: невозможно переопределить класс MTIHelperEstadosLocal»

Класс не был объявлен ранее, потому что я не могу использовать класс без импорта, и если я печатаю возвращенный массив php-метода get_declared_classes (), этого класса там нет.

Что происходит?

Спасибо

1 Ответ

3 голосов
/ 30 декабря 2011

решаемая.

Было 2 проблемы:

  1. В моем проекте есть несколько помощников, которые включают другие файлы, и один из них уже сделал require_once.
  2. require_once не избегает второго включения, и мне пришлось кодировать каждый require_once в условии:

    if (! Class_exists ('MTIHelperEstadosLocal'))

...