PHP: cannot redeclare class
So I have 3 classes in this situation.
Connection.php
Engineer.php
Status.php
Both Engineer and Status clas开发者_运维问答ses 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
instead of using include() use require_once() for importing Connection.php into Engineer.php and Status.php.
You can always:
if( !class_exists('Connection') ) {
include('Connection.php');
}
or just use include_once
(link) or require_once
(link) or autoload mechanism
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).
Use require_once.
You are probably using an unsafe class file inclusion method, such as require
or include
.
Try using include_once
or require_once
.
well, how are you including the Connection.php? try using require_once
.
精彩评论