tags:

views:

48

answers:

6

So I have 3 classes in this situation.

Connection.php
Engineer.php
Status.php

Both Engineer and Status classes actually use connection. Hasn't been a problem but now that I'm using both classes in a page I'm getting

Fatal error: Cannot redeclare class Connection

Is there a way round this? In both classes I need db access from the connection class.

Thanks,

Jonesy

+1  A: 

Use require_once.

Alex Howansky
+3  A: 

instead of using include() use require_once() for importing Connection.php into Engineer.php and Status.php.

burkestar
thansk! it works!
iamjonesy
+1  A: 

You are probably using an unsafe class file inclusion method, such as require or include.

Try using include_once or require_once.

Jacob Relkin
+1  A: 

well, how are you including the Connection.php? try using require_once.

Yossarian
+1  A: 

You can always:

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

or just use include_once(link) or require_once (link) or autoload mechanism

petsagouris
+2  A: 

Use require_once() rather than require().

Or alternatively, use autoload, which saves you having to specify it loads of times.

I suspect the autoload functionality would be the best thing for you, assuming you're using a new-enough version of PHP (it requires 5.3).

Spudley