PHP严重致命的错误处理:PHP致命错误:无法重新声明的类或函数

1,错误类型:PHP致命错误

错误类型:PHP致命错误

致命错误:无法重新声明(一)(此前宣布(B))在(C)上

2。错误描述:

错误报告表明您试图重新定义已定义的函数,

a表示重新定义的函数名;

在定义函数时首先定义函数的名称和行号。

当函数被定义为第二次时文件的名称;

函数第二次定义时函数的行号。

3、原因与对策:

原因:例如,您使用相同的名称在一行中定义一个函数两次。

功能(myFunction){ }

功能(myFunction){ }

给出如下结果

致命错误:无法重新声明myFunction()(此前宣布(路径):2)在(路)1号线

解决uff1a

发现功能已经宣布,看看有什么需要让你重新定义一遍。如果只是简单的忘记之前被定义,然后一个声明被删除。例如,你的脚本文件的安排是非常混乱的,你可以使用很多的功能包括(),这将让它为你整理你的思维从混乱的代码很困难。但是,如果你的PHP版本是比较新的(PHP 5.3.8 +),它似乎可以使用命名空间来解决一个重新定义函数的必要条件。

4个严重的致命错误处理解决方案如下所示



1)在同一文件中重复两个同名的类:

例如:


< PHP
类{ }
这里的代码
类{ }
>


第二道菜会出错的。

解决方案:删除第二个或重命名。

为了防止重复定义,可以在定义新类时确定类是否已经存在:


如果(class_exists('someclass)!= true)
{
/ /把班SomeClass
}


2)复制同一类文件:

例如,一个类文件中some_class.php,A.php

包括some_class .php;

包括some_class .php;

在b.php

包括A.php ;

包括some_class .php;

包括A.php ;

包括some_class .php;

那将是错误的。

解决方法:更换以上包括include_once

3)这个类是PHP类库中的内置类。

判断方法:用空文件写


< PHP

类的COM
{


}
>



不能重新定义类的COM是促使此时,表明该类是类建立了委员会u3002 PHP。

另外,避免使用流行的类名,如COM,这在Linux可能是正常的,不能在Windows环境中运行。



记住在互联网上可以找到的解决方案。在某些场合可能有用。




如果(!class_exists('pagemodule ')){
require_once(path_site。'fileadmin /脚本/班。页。php);
}


上述方法不适合使用PHP __autoload类加载的方法,但它可以解决的问题。__autoload自动加载。我们只需要找出相同的类名并重命名它。