1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-15 10:57:08 +01:00
psalm/docs/running_psalm/issues/ImplicitToStringCast.md

30 lines
372 B
Markdown
Raw Normal View History

2020-03-19 17:32:49 +01:00
# ImplicitToStringCast
Emitted when implicitly converting an object with a `__toString` method to a string
```php
2020-03-21 00:13:46 +01:00
<?php
2020-03-19 17:32:49 +01:00
class A {
public function __toString() {
return "foo";
}
}
function takesString(string $s) : void {}
takesString(new A);
```
2020-03-21 05:39:00 +01:00
2020-03-21 15:19:30 +01:00
## How to fix
2020-03-21 05:39:00 +01:00
You can add an explicit string cast:
```php
<?php
...
takesString((string) new A);
```