“致命错误:不能重新宣布上课”......但是没有宣布上课

时间:2011-12-29 13:46:29

标签: php joomla import include require-once

(我正在使用Joomla v1.5.15和PHP 5.3.4)

我已经测试了在此论坛和其他开发者论坛中找到的解决方案,但我仍然遇到了同样的错误。

要求file => 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中用于将文件导入实际脚本。无论如何,我尝试了“include / require_once”php方法也没有成功。

我在尝试的每个解决方案中都遇到了同样的错误:

  
    

“致命错误:无法重新声明类MTIHelperEstadosLocal”

  

该类之前没有声明因为我不能使用没有导入的类,如果我打印“get_declared_classes()”php方法的返回数组,则该类不存在。

发生了什么?

由于

1 个答案:

答案 0 :(得分:3)

解决。

有两个问题:

  1. 在我的项目中,有一些帮助程序包含其他文件,其中一个文件先前已经完成了require_once。
  2. require_once不会避免第二个include,我必须在条件中对每个require_once进行编码:

      

    if(!class_exists('MTIHelperEstadosLocal'))