Cannot redeclare class %s
Description
A class name can only be declared once per request. This error appears when the same class name is declared twice, either directly in the same file, or because a file defining the class was included more than once (for instance with include instead of include_once), or because two different files both declare a class with the same name.
Unlike functions, PHP does not allow a class to be conditionally redeclared, even if the two declarations are identical.
Example
<?php
class X
{
}
class X
{
}
?>
Literal Examples
- Cannot redeclare class X
Alternatives
- Use
include_onceorrequire_onceinstead ofincludeorrequireto avoid loading the same file twice. - Wrap the class declaration in a
class_exists()check if it may legitimately be loaded more than once. - Rename one of the two classes, or move them into different namespaces.
Related error messages
- cannot-redeclare-%s::%s()
- cannot-redeclare-function-%s()-(previously-declared-in-%s:%d)
- class-declarations-may-not-be-nested
Changed Behavior
This error may appear following an evolution in behavior, in previous versions. See