“致命错误:无法重新声明类”......但未声明该类
Posted
技术标签:
【中文标题】“致命错误:无法重新声明类”......但未声明该类【英文标题】:"Fatal error: Cannot redeclare class" ... but the class was not declared 【发布时间】:2012-01-29 22:00:21 【问题描述】:(我使用的是 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方法的返回数组,这个类就不存在。
发生了什么?
谢谢
【问题讨论】:
项目中只有一个名为“MTIHelperEstadosLocal”的类 【参考方案1】:解决了。
有两个问题:
-
在我的项目中,有一些帮助程序包含其他文件,其中一个之前完成了 require_once。
require_once 并没有避免第二个包含,我不得不在一个条件中编写每个 require_once:
if ( !class_exists('MTIHelperEstadosLocal') )
【讨论】:
以上是关于“致命错误:无法重新声明类”......但未声明该类的主要内容,如果未能解决你的问题,请参考以下文章