__toString() magic method is not intended to be called directly.Instead, it defines what is returned when the object is cast to string, either explicitly casting with:(string)$elementOr implicitly, when used in certain contexts which would cause a conversion to string.If you really want to explicitly call a method to convert an object to string, then you can just create a public toString method and call that, avoid using the magic __toString directly if no casting is needed.