4

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

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

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

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

怎么了?

谢谢

4

1 回答 1

3

解决了。

有2个问题:

  1. 在我的项目中,有一些助手包含其他文件,其中一个之前完成了 require_once。
  2. require_once 并没有避免第二个包含,我不得不在一个条件下编写每个 require_once:

    if ( !class_exists('MTIHelperEstadosLocal') )

于 2011-12-30T08:38:29.650 回答