1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-02 17:52:45 +01:00
psalm/docs/running_psalm/issues/DuplicateClass.md

33 lines
542 B
Markdown
Raw Normal View History

2020-03-19 17:32:49 +01:00
# DuplicateClass
Emitted when a class is defined twice
```php
2020-03-21 00:13:46 +01:00
<?php
2020-03-19 17:32:49 +01:00
class A {}
class A {}
```
2020-03-21 15:13:11 +01:00
## 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.