__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)$element
Or 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.