mirror of
https://github.com/danog/psalm.git
synced 2024-12-05 13:10:49 +01:00
30 lines
372 B
Markdown
30 lines
372 B
Markdown
# ImplicitToStringCast
|
|
|
|
Emitted when implicitly converting an object with a `__toString` method to a string
|
|
|
|
```php
|
|
<?php
|
|
|
|
class A {
|
|
public function __toString() {
|
|
return "foo";
|
|
}
|
|
}
|
|
|
|
function takesString(string $s) : void {}
|
|
|
|
takesString(new A);
|
|
```
|
|
|
|
## How to fix
|
|
|
|
You can add an explicit string cast:
|
|
|
|
```php
|
|
<?php
|
|
|
|
...
|
|
|
|
takesString((string) new A);
|
|
```
|