1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-14 02:07:37 +01:00
psalm/docs/running_psalm/issues/DuplicateClass.md
2020-03-21 10:13:11 -04:00

33 lines
542 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# DuplicateClass
Emitted when a class is defined twice
```php
<?php
class A {}
class A {}
```
## Why this is bad
The above code wont compile.
PHP does allow you to define a class conditionally:
```php
<?php
if (rand(0, 1)) {
class A {
public function __construct(string $s) {}
}
} else {
class A {
public function __construct(object $o) {}
}
}
```
But Psalm _really_ doesn't want you to use this pattern it's impossible for Psalm to know (without using reflection) which class is getting used.