2010-09-22 83 views
0

所以我在这种情况下有3个班。PHP:无法重新声明类

Connection.php 
Engineer.php 
Status.php 

工程师和状态类实际上都使用连接。一直没有问题,但现在我在一个页面中使用这两个类我得到

Fatal error: Cannot redeclare class Connection 

有没有办法解决这个问题?在这两个类中,我需要从连接类访问数据库。

感谢,

Jonesy

回答

12

而不是使用include()使用require_once()将Connection.php导入到Engineer.php和Status.php中。

+0

thansk!有用! – iamjonesy 2010-09-22 14:12:21

1

使用require_once。

1

您可能正在使用不安全的类文件包含方法,例如requireinclude

尝试使用include_oncerequire_once

1

那么,你如何包括Connection.php?尝试使用require_once

3

您随时可以:

if( !class_exists('Connection')) { 
    include('Connection.php'); 
} 

或只使用include_oncelink)或require_oncelink)或autoload机制

2

使用require_once(),而不是需要()。

或者,使用autoload,这样可以节省您不必指定其加载次数。

假设您使用足够新的PHP版本(它需要5.3版本),我怀疑自动加载功能对您来说是最好的选择。