php报错:Cannot redeclare class 提示的解决方法

1.重复包含相同的类文件:

例如:对于某个类文件zuimoban.php,在a.php中

include "zuimoban.php";

在b.php中

include "a.php";  
include "zuimoban.php";

就会报错。

解决:将上述的include全部替换为include_once,同理使用require导入方法时则全部替换为require_once即可。

include和require的区别:http://bbb.ms521.cn/index.php/Home/Index/article/aid/65


2.在同一个文件中重复声明了两次同名的类:

例如:

<?php  
class Foo {}  
 
class Foo {}  
?>

在第二个 Foo 的地方就会报错。

解决:去掉第二个Foo,或者重命名。

为了防止重复定义,可以在定义一个新的类的时候判断一下这个类是否已经存在:

<?php  
if(class_exists('SomeClass') != true)  
{}
?>



3.该类为PHP类库中内置的类。

判断方法:在一个空文件中写入

<?php  
class Com  {} 
?>

这时候提示Cannot redeclare class Com,说明这个类就是PHP内置的类。不能使用。

另外,要避免使用太大众化的类名,比如Com,这个类在Linux使用可能是正常的,在Windows环境却无法运行  


鼎云博客
  • 最新评论
  • 总共0条评论