Skip to content

Latest commit

 

History

History
29 lines (19 loc) · 372 Bytes

ImplicitToStringCast.md

File metadata and controls

29 lines (19 loc) · 372 Bytes

ImplicitToStringCast

Emitted when implicitly converting an object with a __toString method to a string

<?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

...

takesString((string) new A);